dani93 hat geschrieben:
Ich hab da auch einige...
[...]
Du brauchst eigentlich nur zwei Pakete. Alle anderen benötigten werden automatisch installiert:
Und die Bibliotheken für Sound und Netzwerk werden bei diesem Spiel auch noch nicht benötigt.
dani93 hat geschrieben:
Auch die Bilder hab ich selbst "gegimpt"
Warum speicherst du denn farbige Blöcke in Bilddateien? Fast 2 mb nur für einen schwarzen Hintergrund sind schon heftig. Erstens würde ich ein Bildformat mit einer Kompression verwenden - Die SDL unterstützt auch zb png - und zweitens würde ich einfärbige Bilder einfach mit der SDL direkt mit SDL_FillRect erstellen, bzw. direkt in den Bildbuffer schreiben.
dani93 hat geschrieben:
* zufälligere Zufallszahlen

(sind immer gleich, keine Ahnung warum)
Ich weiß es schon, 'rand' ist nämlich kein Zufallsgenerator

Schau dir einmal
diesen Thread dazu an...
dani93 hat geschrieben:
** valgrind meldet bei mir einen Speicher-Leak (16 Byte). Ich hab keine Ahnung was das sein könnte. Die Bilder hab ich ja alle freigegeben. Kann es sein, dass das von einer SDL-Lib verursacht wird?
Erstens wird 'fruit_pic' nirgendwo freigegeben und zweitens steigst du an einigen Stellen im Programm mit 'exit' aus, so dass nicht immer alle Codeteile in denen Speicher freigegeben wird aufgerufen werden.
dani93 hat geschrieben:
* Kann man ASCII-Zeichen auf ein Surface schreiben?? Oder muss ich dann immer ein Bild erstellen?
Ja, schau dir einmal SDL_ttf an...
dani93 hat geschrieben:
Fuss hat geschrieben:Da hängt man ja schon 3 mal an der Wand bevor man reagieren kann und eine Taste gedrückt hat...
Bei mir dauerts ohne lenken bis zum Crash 3 Sekunden. Sollte doch reichen
Bei mir ist es auch nur so ca 1 Sekunde. Das liegt daran, dass alle Computer unterschiedlich schnell sind und du das nicht bei der Bewegung der Schlange berücksichtigst. Da aber die Schleife auf einem schnelleren Computer auch schneller durchläuft, ist die Schlange dort schneller. Du solltest als die immer die Dauer der Frames messen und diesen Wert als Grundlage für die Bewegung im nächsten Frame verwenden.
Ansonsten funktioniert es ja schon einmal recht gut, zumindest für ein erstes Programm
Zu deinem Stil: Ich find ihn gar nicht einmal so schlecht, du solltest nur versuchen eine gewisse Zeilenbreite einzuhalten. Damit meine ich vor allem die beiden if-Abfragen, die grauenhaft zum Lesen sind
