Programmazione videogioco snake

di il
2 risposte

Programmazione videogioco snake

Salve a tutti, sto cercando di programmare il videogioco di snake ma sto riscontrando dei problemi.

Ho creato la classe per il posizionamento random della mela, quella per il posizionamento dei muri e della schermata di contorno, quella per la creazione del serpente, che inizialmente deve essere di 5 palline. Ovviamente ho anche la classe per la creazione del Frame e del Panel e quindi ho la visualizzazione di ciò che ho fatto. Ora però devo creare la classe "main" la quale mi controllerà il movimento e rispetto a questo ho delle domande.

In questa classe devo avere 4 metodi fondamentali: il metodo per la visualizzazione prima dell'animazione, quello durante l'animazione e quello alla fine. Inoltre un metodo che mi permetta di gestire i movimenti del serpente e quindi che, premuto un tasto freccia, faccia cambiare direzione al serpente. Per quest'ultimo metodo credo di aver risolto e ho creato 4 variabili boolean che sono inizializzate a false ma che, a seconda del pulsante che viene premuto, cambiano e diventano true. Un metodo legge la variabile true e stabilisce la direzione che resta questa finchè non si spinge nuovamente una freccia.

Il problema è che quando incontro un mela/muro devo, rispettivamente, far crescere il mio serpente o farlo morire. Quindi devo richiamare due metodi, il primo che lo incrementi, il secondo che arresti l'azione. Il problema è che non ho idea di come capire se il serpente "va a sbattere". Idee per il metodo da creare?

2 Risposte

  • Re: Programmazione videogioco snake

    Nessuno?
  • Re: Programmazione videogioco snake

    È un programma intero, chiedi troppo e poi ti sei bloccato sul cuore del programma. Cerca "Java Snake" su Google.
    Se vuoi continuare da solo, ovviamente dovrai avere una griglia con celle libere e occupate dal serpente, che sarà costituito da testa e coda (array dinamico di posizioni x-y). Il serpente muore quando la testa esce dalla griglia o va su una casella occupata dalla coda
Devi accedere o registrarti per scrivere nel forum
2 risposte