Veranschaulichung:
Stell dir vor du bewegst dich mit deiner Schlange nach rechts. Nun hast du eine Frucht eingesammelt und die nächste erscheint direkt über deiner Schlange, aber weiter links. Logischerweise willst du dann 1 Feld nach oben und dann sofort nach links. Also drückt man "Pfeil oben" und sofort "Pfeil links". Da der Maker aber alle 0,0 Sekunden die Tasten abfragt (ich wollte mal Probieren eine Liste einzubaun), wird der erste Befehl häufig überschrieben und man bewegt sich sofort nach links, ist also tot...
Zu den Spezialsteinen:
Da müsste man schaun wie man das umsetzt. Man könnte natürlich Unverwundbarkeit einbauen, sowie schnellere Bewegung (wobei das evtl von der Performance her kritisch wird (da alle Schwanzglieder pro Bewegung einmal aufgerufen werden müssen (und bei 100 Stück ^^°)). Ansonsten könnte man noch Gegner einbaun, welche durch einen anderen Spezialstein aller Pacman fressbar gemacht werden... Muss ich mal sehen...
@CapSeb (darunter):
Joa, wie gesagt. Ich wollte eben versuchen eine Liste einzubaun -.- (nichts dagegen das du helfen willst )
--
Zu Java und C++ übergelaufen...
Geändert von Phönix Tear (02.12.2006 um 11:19 Uhr)
Naja man kann doch abfragen in welche Richtung die Schlange grad guckt und die Bewegung in die entgegengesetzte Richtung dann ausstellen.
So wär das Problem mit dem nach hinten drücken geklärt denk ich. ^^°
Wenn man das Spiel spielt, ist gerade am Anfang der beschriebenen Effekt ziemlich nervig. Aber man dürfte ihn umgehen können.
Zitat von Phönix Tear
Also drückt man "Pfeil oben" und sofort "Pfeil links". Da der Maker aber alle 0,0 Sekunden die Tasten abfragt (ich wollte mal Probieren eine Liste einzubaun), wird der erste Befehl häufig überschrieben und man bewegt sich sofort nach links, ist also tot...
...
Der Maker überschreibt zwar alle 0,0 Sekunden. Aber das Problem tritt auch bei längeren Pausen zwischen den Tastendrucks (-drucken, -drücken? Halt Plural...) auf. Man müsste also einfach nur speichern, was für Tasten gedrückt werden.
Bei Geraden ist es kein Problem. Das heißt, stimmen alle gespeicherten Tasten überein, werden sie bis auf eine gelöscht.
Bei Kurven muss eine Taste gespeichert werden. Die aktuelle Tasten kann nur ausgeführt werden, wenn die gespeichert schon ausgeführt wurde.
Zusammen heißt das Folgendes:
Drückt man eine Taste wird sie gespeichert. Drückt man eine andere Taste wird sie ebenfalls gespeichert. Hat sich die Schlange bewegt, wird die erste gespeicherte Taste ausgeführt und von der zweiten gespeicherten Variable überschrieben. die zweite gespeicherte wird gelöscht.
Drückt man während des Bewegens eine Taste, wird sie auf die zweite gespeicherte geschrieben, aber eben noch nicht ausgeführt, sondern erst wenn die Bewegung der Schlange vorbei ist. Und so weiter und so fort...
Als Quältext (in gehobenen Fachkreisen auch "Quelltext" genannt):
Event1 (parallel process):
Event2 (parallel process):