Hey,
ich bräuchte eure Hilfe bei einem kleinen Problem mit BlueJ, einem Programm mit dem Schülern der Umgang mit Java beigebracht werden soll
Erstmal ganz am anfang: Ich bin ein blutiger Anfänger und deshalb nicht wundern wenn manche sachen unnötog kompliziert sind
Ich hab jetzt seit fast einem Jahr Informatik in der Schule, und dachte mit,, ich könnte auch mal ein Spiel Programmieren und bin dann eben bei dem Handyklassiker Snake gelandet. Aber jetzt zum Thema.
Ich muss die Schlange ja irgendwie zum "kriechen" bekommen, also dass jedes Segment auf den Platz des vorherigen aufrückt, das erste Segment ist steuerbar. Dazu übernehm ich einfach die Koordinaten und setzte sie in ein array und die Segmente rufen diese dann auf.
}
mit der Funktion steuer ich das erste Segment, entsprechende Methoden gibt es eben auch für links, recht und unten.
Die koordinaten des punktes werden jetzt eben im array gespeichert.
Hiermit rufe ich sie auf, eben abhängig das wievielte Segment es ist und speicher dann auch gleich die Positionen.
Wenn ich jetzt die Schlange bewegen will springen erst alle nachfolgenden Segmente zu (0,0) und schließlich auch das erste Segment, ich hab allerdings keine ahnung woran das liegt.
Ich hänge mal meine bisherige Arbeit noch an, vielleicht kann mir jemand helfen.
ich bräuchte eure Hilfe bei einem kleinen Problem mit BlueJ, einem Programm mit dem Schülern der Umgang mit Java beigebracht werden soll
Erstmal ganz am anfang: Ich bin ein blutiger Anfänger und deshalb nicht wundern wenn manche sachen unnötog kompliziert sind
Ich hab jetzt seit fast einem Jahr Informatik in der Schule, und dachte mit,, ich könnte auch mal ein Spiel Programmieren und bin dann eben bei dem Handyklassiker Snake gelandet. Aber jetzt zum Thema.
Ich muss die Schlange ja irgendwie zum "kriechen" bekommen, also dass jedes Segment auf den Platz des vorherigen aufrückt, das erste Segment ist steuerbar. Dazu übernehm ich einfach die Koordinaten und setzte sie in ein array und die Segmente rufen diese dann auf.
Java:
public void bewegeOben(int Zeit)
{
if(y>0)
{
x = x;
y = y - 10 * Zeit ;
q.setzePosition((int)x, (int)y);
y=b;
ort[0]=x;
ort[1]=b-10;
mit der Funktion steuer ich das erste Segment, entsprechende Methoden gibt es eben auch für links, recht und unten.
Die koordinaten des punktes werden jetzt eben im array gespeichert.
Hiermit rufe ich sie auf, eben abhängig das wievielte Segment es ist und speicher dann auch gleich die Positionen.
Java:
public void Krieche(int n1, int n2, int p)
{
q.setzePosition(ort[n1],ort[n2]);
ort[n1]=ort[p*2];
ort[n2]=ort[p*2+1];
}
Wenn ich jetzt die Schlange bewegen will springen erst alle nachfolgenden Segmente zu (0,0) und schließlich auch das erste Segment, ich hab allerdings keine ahnung woran das liegt.
Ich hänge mal meine bisherige Arbeit noch an, vielleicht kann mir jemand helfen.