Forum: PC-Programmierung Hilfe zu SNAKE Programm


von gamer (Gast)


Angehängte Dateien:

Lesenswert?

Ich weiss nicht warum das wachsen der Schlange nicht korrekt 
funktioniert.
Vielleicht kann mir hier jemand einen Rat geben.

von Zwie B. (zwieblum)


Lesenswert?

hab' mal kurz über deinen code geschaut, 2 Tips:
- wenns geht, keine/wenig globale Variablen.
- Funktionen kann & soll man Werte übergeben.

von gamer (Gast)


Lesenswert?

Danke für den Rat. Das hab ich bei mir auch schon bemängelt. Werde das 
ganze noch umgestalten. Du weisst auch nicht woran es liegen könnte, 
warum meine Schlange nicht grüßer wird?

von ozo (Gast)


Lesenswert?

DrawSnake und MoveSnake haben unterschiedliche Ansichten über 
"CurrentIndex" ?

von gamer (Gast)


Lesenswert?

Die Schlange erweitert sich maximal nur bis aus zwei Sterne. Danach 
passiert nichts mehr. Ich kann den Fehler nicht finden.

von Karl H. (kbuchegg)


Lesenswert?

Dann musst du dich fragen, warum CurrentIndex nie erhöht wird.

Dein Code ist ein bischen unübersichtlich und verwirrden. Da ist zb 
etwas, was Verwirrung hervorruft:

Du fragst zwar die Tasten Left, Right, Up, Down ab, programmintern 
heisst das dann aber plötzlich back und forward.

Einige dich mit dir selbst auf ein Koordinatensystem, zb
  x   verläuft von links nach rechts, links ist 0
  y   verläuft von unten nach oben, unten ist 0

und drücke dann links/rechts/oben/unten in diesen Einheiten aus (ich 
weiß nicht, ob diese Definition des Koordinatensystems mit SDL sinnvoll 
ist oder nicht. Aber ein MoveBack (ausgelöst von einer Taste 'Links' der 
in einen x++ mündet, kommt mir ehrlich gesagt etwas seltsam vor.)
Das Gegenteil MoveForward (ausgelöst von der Taste 'Rechts') hingegen 
führt zu einer Manipulation von y.
Das passt so IMHO nicht wirklich zusammen. Beende das Durcheinander und 
bennene die Dinge konsequent links/rechts/rauf/runter.

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.