Jaké změny bych měl udělat, aby můj výstup vrátí True, False na základě aktuální stav na tabuli?

0

Otázka

Takže se snažím vytvořit jednoduché verzi t2048, a tak se snažím začít tím, že najde to, zda žádné pohyby jsou možné, nebo nejsou založeny na aktuální desce, a já mám funkci ispossible(board: Board) která vrací, zda je to True nebo False

V případě, že nevíte, co 2048 říct, že tohle je to, co hra je... https://play2048.co/

Já se nesnažím, aby znovu celou hru, jen se snažím udělat jednoduchou verzi, ve které pracuje.

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

Nicméně, to nefunguje vůbec, jak jsem se "Chyb", když jsem si to jako vstup

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

Co mám změnit, aby se ujistěte se, že to funguje??

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

Nejlepší odpověď

1

Jako komentářích na otázku, řekl, měli byste nejprve projít v jednom seznamu seznamy jako Board. Další problém s příkladem kódu je, že nejste indexování do board proměnnou. Místo toho, kód je vytvoření velikosti 1 seznam s i jako jediný prvek, a pak přístup k j-1th index. Asi jsi chtěl udělat něco jako board[i][j - 1] místo [i][j - 1]. Totéž platí i pro vaše další seznam přístupů.

2021-11-24 05:49:47

takže v podstatě infront z každé [i], jsem měl napsat, rady?
Joshua Bradley

jo, protože v současné době [i] jen znamená, že seznam jako [0] na první iteraci vnějšího cyklu. board[i] by znamenalo, že i-tý řádek board
rchome

V jiných jazycích

Tato stránka je v jiných jazycích

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