В настоящее время я изо всех сил пытаюсь заставить ячейки, соседние с минами (#), увеличиваться в зависимости от того, сколько мин находится рядом с ними.
Мой текущий код возвращает 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
Увеличение соседних мин в тральщике с использованием Python ⇐ Python
Программы на Python
-
Anonymous
1733331421
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79252013/incrementing-adjacent-mines-in-minesweeper-using-python[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия