Steg 6: game over

forrige steg
oversikt
neste steg

Foreløpig krasjer spillet dersom slangen går utenfor brettet. Slangen er også i stand til å krysse seg selv. Vi vil at begge disse hendelsene fører oss inn i en game over -tilstand.

print("Tester is_legal_move...", end="")
board = [
        [0, 3, 4],
        [0, 2, 5],
        [0, 1, 0],
        [-1, 0, 0],
    ]
assert(is_legal_move((2, 2), board))
assert(not is_legal_move((1, 3), board)) # Utenfor brettet
assert(not is_legal_move((1, 1), board)) # Krasjer med seg selv
assert(not is_legal_move((0, 2), board)) # Krasjer med seg selv

assert(is_legal_move((0, 0), board))
assert(is_legal_move((3, 0), board)) # Eplets posisjon er lovlig
assert(is_legal_move((3, 2), board))
assert(not is_legal_move((-1, 0), board)) # Utenfor brettet
assert(not is_legal_move((0, -1), board)) # Utenfor brettet
assert(not is_legal_move((3, -1), board)) # Utenfor brettet
assert(not is_legal_move((3, 3), board)) # Utenfor brettet
assert(not is_legal_move((4, 2), board)) # Utenfor brettet
print("OK")

I key_pressed, endre oppførselen slik at:

I redraw_all, endre oppførselen slik at:


Guide til snake av Torstein Strømme er lisensiert under CC-NC-SA 4.0.