Nel vostro codice non avete mai usato le classi.
Valutate se non sia il caso di usarle per modellare alcune delle entità richieste dal gioco.
Per esempio, senza stravolgere l'impostazione che avete dato fino ad ora, potreste usare il design pattern strategy per gestire in modo uniforme le due alternative di input (da immagine e da json).
In alternativa, potreste rappresentare il campo di gioco con un unico oggetto che ha come attributi le variabili food, blocks, righe, colonne.
Nel vostro codice non avete mai usato le classi. Valutate se non sia il caso di usarle per modellare alcune delle entità richieste dal gioco. Per esempio, senza stravolgere l'impostazione che avete dato fino ad ora, potreste usare il design pattern strategy per gestire in modo uniforme le due alternative di input (da immagine e da json). In alternativa, potreste rappresentare il campo di gioco con un unico oggetto che ha come attributi le variabili
food
,blocks
,righe
,colonne
.