Gioco dell'orso - Parte 2
Qui di seguito qualche riga di commento sulla seconda versione a caratteri del gioco che potete trovare qui:
Il gioco è sempre giocabile con un po' di sforzo ma quello che conta qui è la trasformazione delle istruzioni al paradigma Object Oriented, ovvero ad oggetti.
Tutto sarà più chiaro quando Maria Teresa lo spiegherà.
Viene creata una sola classe Board, che nel costruttore definisce le posizioni iniziale e alcune "costanti" utili per il gioco; tutti gli attributi sono privati (per questo hanno il prefisso __ ) e dall'esterno possono essere acceduti tramite metodi "getters" come ad esempio (get_bear_moves() / get_bear_position() ma anche is_hunter_turn() )
I metodi display(), possible_moves(posizione), update(pos_iniziale, pos_finale) e is_winner() servono rispettivamente a mostrare la tavola di gioco (a caratteri), a restituire le mosse possibili data una posizione, ad aggiornare le posizioni del gioco e a controllare se c'è un vincitore.
La logica del gioco è implementata nella parte di codice "main" (ovvero fuori dalla classe) tramite un ciclo while.
La gestione degli input, che potrebbero essere errati, è "protetta" dal costrutto:
try:
inserisci la mossa
se non valida, rilancia eccezione
except:
messaggio all'utente richiedendo una mossa valida
Sicuramente anche questo tema sarà oggetto di un prossimo approfondimento di Maria Teresa.
Approfondiremo!Magari sarà fatto il primo febbraio!Complimenti a Mario per quanto ci sta donando!
RispondiElimina