Какие изменения я должен внести, чтобы мои выходные данные возвращали значение True или False в зависимости от текущего состояния на плате?

0

Вопрос

Поэтому я пытаюсь создать простую версию t2048, и поэтому я пытаюсь начать с определения того, возможны ли какие-либо ходы на основе текущей доски, и у меня есть функция ispossible(board: Board) это возвращает, является ли это истинным или Ложным

На случай, если вы не знаете, что такое 2048, вот что такое игра... https://play2048.co/

Я не пытаюсь воссоздать всю игру целиком, я просто пытаюсь сделать простую версию этого, которая работает.

def ispossible(board: Board)
    for i in range(0, board):
        for j in range(1, board):
            if [i][j - 1] == 0 and [i][j] > 0:
                return True
            elif ([i][j - 1] == [i][j]) and [i][j - 1] != 0:
                return True
    return False

Однако это вообще не работает, так как я получаю "Ошибку", когда помещаю это в качестве входных данных

print(ispossible([4,3,2,2],[2,2,8,16], [16,4,4,4], [4,4,4,4]))

Что я должен изменить, чтобы убедиться, что это работает??

error-handling list python
2021-11-24 04:20:52
1

Лучший ответ

1

Как говорится в комментариях к вопросу, вы должны сначала передать один список списков в качестве своего Board. Еще одна проблема с вашим примером кода заключается в том, что вы не индексируете в board переменная. Вместо этого код создает список размера 1 с i как единственный элемент, а затем доступ к j-1й индекс. Вы, наверное, хотели сделать что-то вроде board[i][j - 1] вместо [i][j - 1]. То же самое относится и к другим вашим доступам к списку.

2021-11-24 05:49:47

так что, по сути, перед каждым [я] я должен написать доску?
Joshua Bradley

да, потому что в настоящее время [i] просто означает список, такой как [0] на первой итерации внешнего цикла. board[i] означало бы, что i-й ряд board
rchome

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................