kill
This commit is contained in:
parent
a475f6c68f
commit
81dba6991b
@ -103,7 +103,7 @@ def kill_field(field):
|
||||
for i in range(10):
|
||||
for j in range(10):
|
||||
if cells[i][j] == '+':
|
||||
ship = [(i, j)]
|
||||
ship = set([(i, j)])
|
||||
queue = [(i, j)]
|
||||
killed = True
|
||||
while queue:
|
||||
@ -114,29 +114,33 @@ def kill_field(field):
|
||||
killed = False
|
||||
break
|
||||
elif cells[x - 1][y] == '+':
|
||||
ship.append((x - 1, y))
|
||||
queue.append((x - 1, y))
|
||||
if (x - 1, y) not in ship:
|
||||
queue.append((x - 1, y))
|
||||
ship.add((x - 1, y))
|
||||
if x < 9:
|
||||
if cells[x + 1][y] == 'o':
|
||||
killed = False
|
||||
break
|
||||
elif cells[x + 1][y] == '+':
|
||||
ship.append((x + 1, y))
|
||||
queue.append((x + 1, y))
|
||||
if (x + 1, y) not in ship:
|
||||
ship.add((x + 1, y))
|
||||
queue.append((x + 1, y))
|
||||
if y > 0:
|
||||
if cells[x][y - 1] == 'o':
|
||||
killed = False
|
||||
break
|
||||
elif cells[x][y - 1] == '+':
|
||||
ship.append((x, y - 1))
|
||||
queue.append((x, y - 1))
|
||||
if (x, y - 1) not in ship:
|
||||
ship.add((x, y - 1))
|
||||
queue.append((x, y - 1))
|
||||
if y < 9:
|
||||
if cells[x][y + 1] == 'o':
|
||||
killed = False
|
||||
break
|
||||
elif cells[x][y + 1] == '+':
|
||||
ship.append((x, y + 1))
|
||||
queue.append((x, y + 1))
|
||||
if (x, y + 1) not in ship:
|
||||
ship.add((x, y + 1))
|
||||
queue.append((x, y + 1))
|
||||
if killed:
|
||||
for x, y in ship:
|
||||
cells[x][y] = 'x'
|
||||
|
@ -98,7 +98,7 @@ def shoot(request):
|
||||
new_symb = '+'
|
||||
else:
|
||||
new_symb = '.'
|
||||
player.game.turn = (1 - player.game.turn)
|
||||
player.game.turn = (1 - player.game.turn)
|
||||
player.game.last_move_ts = timezone.now()
|
||||
player.game.save()
|
||||
if pos == 0:
|
||||
@ -114,7 +114,7 @@ def shoot(request):
|
||||
player.game.winner = player.number
|
||||
player.game.save()
|
||||
return JsonResponse({
|
||||
'shot': new_symb == 'x',
|
||||
'shot': new_symb == '+',
|
||||
'game_finish': game_finish
|
||||
})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user