Jakie zmiany muszę wprowadzić, aby moje dane wyjściowe zwrócił wartość True lub False w zależności od aktualnego stanu na płytce?

0

Pytanie

Dlatego staram się stworzyć prostą wersję t2048, i dlatego staram się zacząć od określenia tego, czy są możliwe jakieś ruchy na podstawie bieżącej deski, i mam funkcja ispossible(board: Board) to zwraca, czy jest to prawda czy Fałsz

Na wypadek, jeśli nie wiesz, co to jest 2048, to co to jest gra... https://play2048.co/

Nie próbuję odtworzyć całą grę w całości, po prostu staram się zrobić prostą wersję tego, który działa.

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

Jednak to w ogóle nie działa, ponieważ mam "Błąd", gdy umieszczam to jako danych wejściowych

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

Co muszę zmienić, aby upewnić się, że to działa??

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

Najlepsza odpowiedź

1

Jak czytamy w komentarzach do pytania, należy najpierw przekazać jedną listę list jako swojego Board. Jeszcze jeden problem z twoim przykładem kodu polega na tym, że nie индексируете w board zmienna. Zamiast tego kod tworzy listę mapie 1 z i jako jedyny element, a następnie dostęp do j-1© pocztowy. Pewnie chcieli zrobić coś takiego board[i][j - 1] zamiast [i][j - 1]. To samo odnosi się i do innych twoich доступам do listy.

2021-11-24 05:49:47

tak więc, w rzeczywistości, przed każdym [ja] muszę napisać deskę?
Joshua Bradley

tak, ponieważ w dzisiejszych czasach [i] oznacza po prostu lista, taka jak [0] na pierwszej iteracji zewnętrznej pętli. board[i] oznaczało by to, że i-rzędu board
rchome

W innych językach

Ta strona jest w innych językach

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