У меня проблемы с созданием рекурсивной функции для мойки, когда при выборе пустого места отображаются все соседние пустые места. Я использую две игровые доски в виде списка 2D, на одной из которых есть номера, сгенерированные для шахтных локаций, которые скрыты от пользователя, и на другой, которая заполнена отображаемыми «покрытыми» плитками.
В настоящее время у меня есть функция заливки, которая просто очищает игровое поле, в противоположность тому, как предполагалось, когда она раскрывает все пустые места, пока не наткнется на поле, помеченное целым числом или бомбой.
Я пытаюсь передать доску, которая не отображается, выбранную строку, выбранный столбец и отображаемую доску.
Попытка заставить отображаемую доску заменить пустые поля полями с полями, которые находятся на доске, которая не отображается.
def flood(displayedBoard, row, col, notDisplayed):
mines = mineLocations(notDisplayed)
if displayedBoard[row][col] != " ":
displayedBoard[row][col] = " "
if row != 1:
flood(displayedBoard,row-1,col,notDisplayed)
if row != maxRow-1:
flood(displayedBoard,row+1,col,notDisplayed)
if col != 1:
flood(displayedBoard,row,col-1,notDisplayed)
if col != maxCol:
flood(displayedBoard,row,col+1,notDisplayed)
``````
the expected output if the space 4,2 is selected
```
1 2 3 4 5 6 7 8
# # # # # # # # # #
1 # . . . . . . . . #
2 # 1 1 1 1 . . . . #
3 # 2 . . . . #
4 # 1 . . . . . #
5 # 1 . . . . . #
6 # 1 . . . . . #
7 # 1 . . . . . . #
8 # 1 1 . . . . . . #
###################
````
what is being output
```
1 2 3 4 5 6 7 8
# # # # # # # # # #
1 # #
2 # #
3 # #
4 # #
5 # #
6 # #
7 # #
8 # #
# # # # # # # # # #
````