Hi, ich schon wieder. ^^

Wenn man das Spiel spielt, ist gerade am Anfang der beschriebenen Effekt ziemlich nervig. Aber man dürfte ihn umgehen können.
Zitat 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):
Code:
wenn "gedrückte Taste" > 0 dann
begin
  wenn Variable1 > 0 dann Variable2 := "gedrückte Taste"
  end else Variable1 := "gedrückte Taste" 
end;
Event2 (parallel process):
Code:
Variable3 := Variable1
Variable1 := Variable2
Variable2 := 0
"Move Schlange in Richtung [Variable3]"