Quali modifiche devo fare per rendere la mia uscita return True False in base allo stato corrente sulla scheda?

0

Domanda

Così sto cercando di creare una versione semplice di t2048, e così sto cercando di iniziare da trovare se le mosse sono possibili o non si basano sulla attuale consiglio, e ho una funzione ispossible(board: Board) che restituisce se questo è Vero o Falso

Nel caso In cui non sai cosa 2048 dire, questo è ciò che il gioco è... https://play2048.co/

Non sto cercando di ricreare l'intero gioco, sto solo cercando di fare una versione più semplice di ciò che funziona.

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

Tuttavia, questo non funziona a tutti, come ho ottenere un 'Errore' quando ho messo questo come input

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

Cosa dovrei cambiare per assicurarsi che funzioni??

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

Migliore risposta

1

Come i commenti alla domanda dire, si dovrebbe prima passare in una singola lista di liste, come il Board. Un altro problema con il codice di esempio è che non siete di indicizzazione in board variabile. Invece, il codice è la creazione di una dimensione di 1 elenco con i come il solo elemento e quindi accedendo alla j-1th indice. Probabilmente intendeva di fare qualcosa di simile board[i][j - 1] invece di [i][j - 1]. Lo stesso vale per le altre elenco accessi.

2021-11-24 05:49:47

quindi, fondamentalmente, di fronte ad ogni [i], dovrei scrivere bordo?
Joshua Bradley

sì, perché, al momento, [i] è solo una lista del genere [0] alla prima iterazione del ciclo esterno. board[i] significherebbe la i-esima riga di board
rchome

In altre lingue

Questa pagina è in altre lingue

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