Problem beim Snake programmieren in der Konsole

Hat dieser Code (so wie er hier steht, ohne Änderungen) tatsächlich jemals funktioniert?

Der Fehler findet ja irgendwie bei der "map" variable statt.
Wenn du jetzt die erste Quellcodezeile hier in deinem Post markierst, strg + f drückst und nach "map" suchst, wirst du feststellen, dass du diese variable mehrmals deklarierst.

einmal als char map[widht][height+1]; (globaler Bereich)

und einmal innerhalb der mainfunktion als
int map = 0; (lokaler Bereich)

Soll heißen, mit
map[snake[1][0]][snake[0][0]] = ' '; (ebenfalls lokaler Bereich) versuchst du eine int-variable zu indizieren.

Entweder du schreibst
::map[snake[1][0]][snake[0][0]] = ' '; (also mit zwei Doppelpunkten vor dem Bezeichner um den globalen bereich zu verwenden) oder du veränderst eine der Variablennamen (was ich dir raten würde.)

Alternativ kann man die Zeile auch einfach löschen.
Naja ob man das braucht weiß ich nicht, auf jeden fall funktionierts wenn man die Zeile löscht bzw auskommentiert.

Ich hatte das Spiel mal ausprobiert und die einzusammelnden Punkte verschwinden nicht wenn man die frisst, darüber hinaus kann man die noch mehrmals fressen.

Aber mal davon abgesehen hast du mir mit diesem Problem ein Gefallen getan, wollte schon immer wissen wie man so in der Console rumzeichnet, war jedoch zu faul mich darum zu bemühen :)
 
Zuletzt bearbeitet:
Zurück