Hallo,
ich habe jetzt seit fast einem Jahr Informatik-Unterricht in der 10. Klasse und habe aus Spaß angefangen kleinere Spielchen oder Programme zu schreiben (Teilweise sehr nutzlos, z.B. wird der Bildschirm auf Knopfdruck mit bunten Kreisen zugespammt.)
Als größeres Projekt habe ich mich an das Retro-Handyspiel Snake gemacht.
Im Unterricht arbeiten wir mit BlueJ und der Bibliothek SuM, die ausschließlich zum Erlernen der Java-Grundlagen geschrieben wurde.
Das Prinzip funktioniert so, dass ein Stift etwas auf dem Bildschirm zeichnet, es dann wieder löscht und anschließend daneben neu zeichnet, so kommt eine Bewegung zustande.
Meine Schlange ist bisher nur ein einfaches Rechteck, aber ich würde gerne auch ein Hinterteil haben, das immer länger wird und auch um Ecken läuft. Im Unterricht hatten wir außer Variablen aber noch nichts, mit dem man Position speichern kann. Den Versuch mehrere Rechtecke hintereinander laufen zu lassen habe ich schnell aufgegeben, da die Anzahl an Variablen viel zu groß wurde.
Nach etwas googlen bin ich auf Arrays gestoßen, ginge es vielleicht damit? Aber wie schreibe ich, dass bei jedem Treffer die Schlange länger und somit der Array größer wird?
Anbei der Code der Mainmethode:
ich habe jetzt seit fast einem Jahr Informatik-Unterricht in der 10. Klasse und habe aus Spaß angefangen kleinere Spielchen oder Programme zu schreiben (Teilweise sehr nutzlos, z.B. wird der Bildschirm auf Knopfdruck mit bunten Kreisen zugespammt.)
Als größeres Projekt habe ich mich an das Retro-Handyspiel Snake gemacht.
Im Unterricht arbeiten wir mit BlueJ und der Bibliothek SuM, die ausschließlich zum Erlernen der Java-Grundlagen geschrieben wurde.
Das Prinzip funktioniert so, dass ein Stift etwas auf dem Bildschirm zeichnet, es dann wieder löscht und anschließend daneben neu zeichnet, so kommt eine Bewegung zustande.
Meine Schlange ist bisher nur ein einfaches Rechteck, aber ich würde gerne auch ein Hinterteil haben, das immer länger wird und auch um Ecken läuft. Im Unterricht hatten wir außer Variablen aber noch nichts, mit dem man Position speichern kann. Den Versuch mehrere Rechtecke hintereinander laufen zu lassen habe ich schnell aufgegeben, da die Anzahl an Variablen viel zu groß wurde.
Nach etwas googlen bin ich auf Arrays gestoßen, ginge es vielleicht damit? Aber wie schreibe ich, dass bei jedem Treffer die Schlange länger und somit der Array größer wird?
Anbei der Code der Mainmethode:
Java:
public void agiere()
{
do
{
if(hatTastatur.wurdeGedrueckt())
{
switch(hatTastatur.zeichen())
{
case Zeichen.PFEILOBEN: hatSnake.drehe(90);
break;
case Zeichen.PFEILUNTEN: hatSnake.drehe(270);
break;
case Zeichen.PFEILRECHTS: hatSnake.drehe(0);
break;
case Zeichen.PFEILLINKS: hatSnake.drehe(180);
break;
case '0': hatSnake.zSpeed=0; break;
case'+': hatSnake.zSpeed=hatSnake.zSpeed+0.5; break;
case'-': hatSnake.zSpeed=hatSnake.zSpeed-0.5; break;
}
hatTastatur.weiter();
}
if(hatSnake.getroffen(hatFutter.hPosition(), hatFutter.vPosition()))
{
hatFutter.loesche();
hatFutter.zeichne();
hatCounter.zaehle();
}
hatSnake.bewege();
hatFutter.zeichneNeu();
hatCounter.zeichne();
hatCounter.zaehleNeu();
hatBildschirm.zeichneDich();
}while(!hatMaus.doppelKlick());
}