[JAVA] Cominciare la programmazione di Snake

Pubblicità

alfo1

Utente Attivo
Messaggi
84
Reazioni
4
Punteggio
28
Salve a tutti. Avrei bisogno una mano per cominciare la programmazione in JAva di Snake.
Ho studiato le awt, le swing e il Jframe ;
Qualcuno ha qualche spunto su cui partire? Grazie mille
 
- astrazione grafica con swing (awt sicuramente è meglio ma non lo conosco): potresti fare un gridlayout dove ogni cella rappresenta un'unità di area del gioco che può essere occupata dal serpente o dal muro o dai bonus

- serpente: una coda FIFO di coordinate di celle occupate

- interfaccia utente: aggiungi un keyListener al container e registri l'ultima mossa (su giù destra sinistra)

- tempo: un thread a intervalli regolari legge l'ultima mossa e fa muovere il serpente di conseguenza (cioè agisce sulla coda e ridisegna il tutto)
 
FIFO funziona nella stessa maniera anche nella vita vera :lol:
per semplificare la cosa (per poi passare a cose + complesse e ottimizzate) partirei con un array bidimensionale con le celle occupate per esempio a 1 e quelle libere a 0... mentre come layout tanti bottoni quante la dimensione dell'array...

fa abbastanza schifo da vedere ma penso che per partire nn sia male come idea
 
una classe per usare FIFO è Queue.
I thread sono l'unico modo che conosco per temporizzare la cosa - altrimenti otterresti un serpente "velocissimo" che usa tutta la potenza del processore

la matrice che ti ha consigliato daronk è effettivamente la cosa più semplice; puoi metterci dentro anche un oggetto che contiene una variabile muro/serpente/bonus e un riferimento al Jpanel all'interno della cella della coordinata corrispondente
 
FIFO funziona nella stessa maniera anche nella vita vera :lol:

Questo lo dice sempre anche il mio professore lol (: ed e' anche vero, ma passando alle cose piu' serie :

per semplificare la cosa (per poi passare a cose + complesse e ottimizzate) partirei con un array bidimensionale con le celle occupate per esempio a 1 e quelle libere a 0... mentre come layout tanti bottoni quante la dimensione dell'array...

fa abbastanza schifo da vedere ma penso che per partire nn sia male come idea

Non capisco dove devo usare l array bidimensionale .. Sarebbe troppo chiedere del codice ?

Che mi dite della classe o funzione (non ho ancora capito bene ) ArrayList()?
 
int griglia[][] = new int[100][100];

in questo modo avrai 1 "griglia di gioco" di 100x100

supponi che usando gli indici "i"e "j" avrai una determinata coordinata e nella posizione nella griglia..

ora inizializzi tutto a tuo piacimento utilizzando l'intero UNO per indicare se in una coordinata è presente il serpentello mentre ZERO se non lo è.. DUE se è presente la mela

esempio:

int griglia[][] = new int[100][100];
for (i==0;i<=100,i++){
for (j==0;j<=100,j++){
griglia[j]=0;
}}//hai settato tutta la griglia a 0

griglia[0,0]=1;
griglia[1,0]=1;
//supponiamo che il serpente sia "lungo" due caselle e che siano in alto a sinistra dello schermo

griglia[50,60]=2;
//ho inserito una mela;

il resto è tutto gestione dei movimenti e delle casistiche :)
 
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top