mikrocontroller.net

Forum: PC-Programmierung Hilfe zu SNAKE Programm


Autor: gamer (Gast)
Datum:
Angehängte Dateien:

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

Autor: Zwie Blum (zwieblum)
Datum:

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

Autor: gamer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DrawSnake und MoveSnake haben unterschiedliche Ansichten über 
"CurrentIndex" ?

Autor: gamer (Gast)
Datum:

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.