geometer Geschrieben 13. August 2004 Geschrieben 13. August 2004 Hallo, ich würde gern ein Snake-Spiel in Java schreiben. Ich habe mir ein paar Gedanken gemacht, aber weiß nicht so richtig, wie ich das umsetzen kann. Ich wollte eine Klasse Schlange und eine, die ein einzelnes Schlangenteil beschreibt verwenden. Ich weiß aber nicht wie ich das Zeichnen der Schlange implementieren soll. Noch weniger weiß ich wie ich mir Punkte, an denen die Schlange die Richtung wechseln soll, merken kann bzw. an denen das Zeichnen der Schlange bewerkstelligen soll. Ist es vielleicht hilfreich mit der sogenannten 'Turtle-Grafik' zu arbeiten, oder wie würdet ihr die Sache angehen? Ich bin für jeden Tipp dankbar. mfg Sandro Zitieren
SilentHunterGER Geschrieben 16. August 2004 Geschrieben 16. August 2004 Also die Schlange sollte aus einzelnen elementen bestehen. Zudem merkt sich die schlange ihre wendepunkte in einer Liste. Die Liste darf dabei nur punkte enthalten, die auch in der liste von Schlnagenelementen vorhanden sind. Jeder Wendepunkt kennt seine position uns seine richtung zu der er die schlangenelemente leiten soll. das zeichnen der schlange übernimmt die schlange selber, indem sie jedem ihrer elemente die anweisung gibt sich zu zeichnen. Das Zeichnen wiederum sollte folgendermaßen funktionieren: jedes element kennt seine aktuelle position, sowie die position seines vorgängers. Demzufolge löscht sich ein element an seine aktuellen position, nimmt danach die position seines vorgängers ein, und zeichnet sich. Das erste element fragt abei die richtungsänderungen liste ab, ob vor ihm eine richtungsänderung liegt. alle anderen elemente müssen die (wenn ich mit meinem gedankengan jezt richtig bin) die richtungsäderung nichtmehr abfragen da sie sich an dem vorherigen element orientieren. Wie du das Grafisch löst ist deine sache *fg* Dann gibst du der schlange noch einen Listener der Tastendrücke wie hoch, runter, rechts, links abfängt und in die wendepunktliste einfügt. *grübel* das müste eigentlich alles sein *gl* *hf* Silent Zitieren
geometer Geschrieben 18. August 2004 Autor Geschrieben 18. August 2004 Hi, ich hab die Sache ein wenig anders gelöst. Ich habe eine Klasse Schlange und eine Klasse für die Schlangenteile. Jedes Teil kennt seine Position. Die Schlange selbst besteht aus einer ArrayList, welche die Schlangenteile enthält. Die Bewegung der Schlange funktioniert so, dass ich nach Feststellen der Richtung immer ein neues Schlangenteil vorn anfüge und das letzte lösche. Gezeichnet wird also nur das erste Schlangenelement und das letzte (wird mit der Hintergrundfarbe gezeichnet), bevor es gelöscht wird. Zitieren
kLeiner_HobBes Geschrieben 18. August 2004 Geschrieben 18. August 2004 So arbeiten die Snake-Spiele IMHO in der Regel. Wieso kompliziert, wenns auch einfach geht. Zitieren
Jaraz Geschrieben 18. August 2004 Geschrieben 18. August 2004 Hi, eleganter und ein bisschen performanter wäre eine LinkedList. Gruß Jaraz Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.