Forum: PC-Programmierung Snake: Schlange soll sich "automatisch" weiterbewegen


von dulli (Gast)


Lesenswert?

hallo,

ich will das Spiel Snake in C programmieren. Die Schlange sollte alle 
paar Millisekunden automatisch ein Feld weiterspringen.

Mir würde als Lösung nur die Variante mit einer while-Schleife 
einfallen. Dies ist jedoch viel zu schnell!

Ich wäre dankbar, wenn jemand eine Idee für die "Verzögerung" hätte.

von Peter II (Gast)


Lesenswert?

dulli schrieb:
> Ich wäre dankbar, wenn jemand eine Idee für die "Verzögerung" hätte.

Man kann dafür einen Timer verwenden, der einem eine Zeitbasis für den 
nächsten schritt liefert.

von R. Rebentrost (Gast)


Lesenswert?

Suche nach "game loop".

von S. K. (hauspapa)


Lesenswert?

Nimm für den Einstieg einen Atmega 328 wie er auf vielen Aruino Boards 
drauf ist, kauf Dir bei Digikey einen Epson 20kHz Quartz und stelle den 
Clock Prescaler des Atmega auf 256.

Schon läuft der Prozessor mit 78Hz. Das könnte für Deine While Schleife 
gerade passen.

Sollte Dir das zu hardwarelastig sein könntest Du auch delay Funktionen 
oder Timer verwenden. (Timer herunterzählen lassen, bei jedem 
Nulldurchgang wir ein Flag gesetzt das Du auswertest)

Solle Dein Zielplattform ein Smartphone, PC oder anderswie Grösseres 
sein gibt es auch dort Systemuhren und Timer die sich verwenden lassen.

Viel Erfolg
Hauspapa

von Peter II (Gast)


Lesenswert?

S. K. schrieb:
> Nimm für den Einstieg einen Atmega 328

vermutlich hilft ihm das nicht weiter:

> Forum: PC-Programmierung

von Caligulaminus (Gast)


Lesenswert?

Peter II schrieb:

> vermutlich hilft ihm das nicht weiter:

Vermutlich ist dein Sarkasmusdetektor kaputt ;)

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

dulli schrieb:
> Ich wäre dankbar, wenn jemand eine Idee für die "Verzögerung" hätte.

Im Beitrag "C++ Schleife eine Sekunde lang." werden gerade die 
Lösungen durchgekaut.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.