Увеличение соседних мин в тральщике с использованием PythonPython

Программы на Python
Ответить
Anonymous
 Увеличение соседних мин в тральщике с использованием Python

Сообщение Anonymous »

В настоящее время я изо всех сил пытаюсь заставить ячейки, соседние с минами (#), увеличиваться в зависимости от того, сколько мин находится рядом с ними.
Мой текущий код возвращает 0 вместо приращения - пожалуйста, кто-нибудь может помочь?
Основная проблема, с которой я столкнулся, заключается в том, что моя функция border_check вычисляет, но не сохраняет значения в моей переменной new_grid
positions = [[-1, -1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1, 0], [1, 1]]

mine = "#"
dash = 0
grid = [
["-", "-", "-", "#", "#"],
["-", "#", "-", "-", "-"],
["-", "-", "#", "-", "-"],
["-", "#", "#", "-", "-"],
["-", "-", "-", "-", "-"],
]

def minesweeper(grid):
new_grid = [[[dash, mine][col_i == mine] for col_i in row] for row in grid]
def border_check(new_grid):
for row_i, row in enumerate(grid):
for col_i, value in enumerate(row):
for dr, dc in positions:
def increment(new_grid):
if row_i + dr in range(len(value)) and col_i + dc in range(
len(row)
):
if (
new_grid[row_i + dr][col_i + dc] == mine
and grid[row_i][col_i] != mine
):
new_grid[row_i][col_i] +=1
return increment(new_grid)
return border_check(new_grid)
def minesweeper_output(new_grid):
for row in new_grid:
for col_i in row:
print(col_i, end=" ")
print()
return minesweeper_output(new_grid)
minesweeper(grid)

Вот что мне нужно:
1 1 2 # #
1 # 3 3 2
2 4 # 2 0
1 # # 2 0
1 2 2 1 0


Подробнее здесь: https://stackoverflow.com/questions/792 ... ing-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»