Apprezzo i files che avete caricato. Ma voglio fare il punto su come procedere in nome di una buona programmazione.
Innanzitutto, voglio chiarire che la release che ho caricato qualche giorno fa era un abbozzo giusto per comunicarvi in pratica la mia idea circa il movimento di Snake.
Dovrete scusarmi, ma io sono talmente contrario alla "filosofia" del GOTO da non saper nemmeno usare questa istruzione. Il suo utilizzo complica infatti la messa a punto del software ed ? stato infatti ?bannato? dalla programmazione negli ultimi trent?anni.
Punto numero due: occorre procedere senza fretta, affrontando un nuovo argomento solo quando quello in corso ? stato sviluppato e testato.
Quindi, mi sembra troppo precoce occuparsi gi? da ora di posizionare i tesori, calcolare il punteggio, ecc.
Il primo passo da compiere ? stabilire il contesto/la grafica/le dimensioni di Snake e dello sfondo, ovvero l?apertura del programma (vedi TODO).
Successivamente, ? opportuno mettere a punto il movimento di Snake, che si pu? suddividere nei seguenti passi:
1) movimento infinito (cio?, Snake non si ferma pi?) in una sola direzione (in quella predefinita al momento del disegno di Snake);
2) Snake si ferma quando la testa urta contro una delle pareti laterali (REPEAT ... UNTIL perdita; );
3) movimento nelle quattro direzioni dello schermo;
4) Snake si ferma pure quando la testa urta contro il corpo stesso di Snake;
5) (passo fondamentale e pi? difficile da implementare, rispetto ai precedenti) ottimizzare la cancellazione della coda e la scrittura della testa quando la testa di Snake passa vicino al bordo dello schermo o al corpo stesso di Snake.
|