Ce schimbări ar trebui să mă facă să-mi fac de ieșire return True False bazează pe stadiul actual de pe bord?

0

Problema

Deci, eu sunt încercarea de a crea o versiune ușor de t2048, și așa încerc să încep prin a afla dacă există orice miscari sunt posibile sau nu bazat pe actualul bord, si am o funcție ispossible(board: Board) care returnează dacă acest lucru este Adevărat sau Fals

În cazul în care nu știu ce 2048 să spun, acest lucru este ceea ce jocul este... https://play2048.co/

Nu sunt încercarea de a recrea întregul joc, eu sunt doar încercarea de a face o simplă versiune a acestui funcționează.

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

Cu toate acestea, aceasta nu funcționează deloc ca am o "Eroare" atunci când am pus acest lucru ca pe o intrare

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

Ce ar trebui să se schimbe pentru a face sigur că funcționează??

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

Cel mai bun răspuns

1

Ca comentarii la întrebarea spun, tu ar trebui să treacă mai întâi într-o singură listă de liste ca Board. O altă problemă cu exemplu de cod este că nu ești de indexare în board variabilă. În schimb, codul este de a crea o dimensiune de 1 lista cu i ca singurul element și apoi accesarea j-1th index. Probabil ai vrut sa faci ceva de genul board[i][j - 1] în loc de [i][j - 1]. Același lucru este valabil pentru alte lista de accese.

2021-11-24 05:49:47

deci, practic infront de fiecare [i], ar trebui să scriu bord?
Joshua Bradley

da, pentru că în prezent [i] înseamnă doar o listă ca [0] în prima iterație a buclei exterioare. board[i] ar însemna al i-lea rând de board
rchome

În alte limbi

Această pagină este în alte limbi

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