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