Spieleprojekt in C / PDCurses, Probleme?! (Logbuch)

Re: Spieleprojekt in C / PDCurses, Probleme?! (Logbuch)

Beitragvon darktrym » Do 10. Jul 2014, 10:48

Aber nicht mit curses! Curses ist schon so etwas schwierig wenn man vergleicht was conio schon damals konnte.
Benutzeravatar
darktrym
LAN Manager
 
Beiträge: 207
Registriert: So 5. Jan 2014, 10:59
Wohnort: -D-

Re: Spieleprojekt in C / PDCurses, Probleme?! (Logbuch)

Beitragvon matze79 » Fr 11. Jul 2014, 14:19

Naja aber was will man mit Platform abhaengigen Mist ? :)

Allegro duerfte noch gehen das gibts fuer DOS/Windows/Linux.
Ich hab angefangen alles neu zu schreiben und zu vereinfachen.
Natürlich haben wir nichts zu verbergen, dennoch machen wir auf dem Klo die Türe zu!
matze79
DOS-Gott
 
Beiträge: 7770
Registriert: So 9. Sep 2012, 19:48

Re: Spieleprojekt in C / PDCurses, Probleme?! (Logbuch)

Beitragvon darktrym » Fr 11. Jul 2014, 23:32

Keine Ahnung ob SDL unter DOS brauchbar ist, ist aber sicher die Zukunft. Ich kenn eigentlich nur Meka was noch auf Allegro setzt.
Benutzeravatar
darktrym
LAN Manager
 
Beiträge: 207
Registriert: So 5. Jan 2014, 10:59
Wohnort: -D-

Re: Spieleprojekt in C / PDCurses, Probleme?! (Logbuch)

Beitragvon wobo » Sa 12. Jul 2014, 12:57

darktrym hat geschrieben:Keine Ahnung was du hören willst, kenne nicht die Richtung wohin dein Programm gehen soll, deshalb etwas zum Code. Vielleicht als Inspiration, schau dir mal Apogee Kroz an(ist in TP geschrieben).

Kommentare meinerseits:
Makefile:
rm ist kein Windows Befehl, entweder machst du pro Architektur eine Makefile oder verwendet den dafür vorgesehen Befehl(make -f Makefile.win bzw. del)
Optimierungem sind wenn es kein besonderen Grund gibt nicht sinnvoll.
Explizite Auflisten der Objektdateien wird bei steigender Anzahl ungünstig, guck mal in Wikipedia vielleicht findest du was.

Formatierung(sicher viel kosmetischer Natur) und kleine Dinge:
Leerzeichen zwischen include und Bezeichner.
Einrückungen sind nicht konsistent.
Nur global sichtbares kommt in eckige Klammern, sonst in doppelte Hochkommas, einige Compiler werden sich sicher darüber beschweren.
Reduzier dein globales Wissen, wird ohnehin nicht gebraucht in dem Umfang.
enemy(): Ich bin sicher einige Fälle schließen sich gegenseitig aus, kein Grund das abermals zu überprüfen. Gilt auch für main().
enemy_position: Konstante Ausdrücke bitte auch als solche markieren wie "150".
Gibts einen besonderen Grund warum du da kein Prä-/Postinkrement verwendet hast? Generell ist Präinkrement vorzuziehen.
Wenn du später nochmals dran arbeiten willst könnten (Doxygen-)Kommentare nie schaden, wenigstens in den Header Dateien. Es ist guter Stil die Kommentare obenhalb des zu schreibenden Codes zu setzen, um nicht über die 79/80 Zeichen pro Zeile zu kommen. Eine Leerzeile am Ende jeder Datei.
Du kannst auch mal ein void als Funktionsargument nutzen, wenn's keine Parameter braucht und Variablen zum Schutz einer weiteren Inkludierung ist es geläufiger den Dateinamen in Großbuchstaben mit Unterstrich statt Komma zu versehen. Kann bei globals.h auch nicht schaden.
Wenn initcolor so ein Muster hat, kann man auch gleich eine Schleife nutzen und die Paare in den Header verlagern. Waldcollision ist kein dt. Wort, selbst als Neologismus mit Rechtschreibfehler.
Räum mal deine main() auf: Grafikinit., Spielinit. Gameloop. Deine Gameloop kann auch mit break verlassen werden, dann hats auch einen schönen Platz für Aufräumen und das exit() kann entfernt werden. Dein return 0 ist zwar sinnlos, schadet aber nicht, schöner schauts mit einem return EXIT_SUCCESS aus.

PS: Getestet auf Windows 7.


Interessante Hinweise! Warum soll man denn sich auf 79/80 - Zeichen pro Zeile beschränken (beim modernen Programmieren?). Ich mache das zwar eh immer, weil ich allerhöchstens TP 7.0 unter DOS benutze und ich mich deswegen immer auf 72 Zeichen (i.d.R.) beschränke. Aber bei modernen IDEs auch?
wobo
DOS-Guru
 
Beiträge: 555
Registriert: So 17. Okt 2010, 13:40

Re: Spieleprojekt in C / PDCurses, Probleme?! (Logbuch)

Beitragvon darktrym » Sa 12. Jul 2014, 15:50

Historisch stammt aus der Zeit wo nur 80 Zeichen pro Zeile draufpassten, nicht nur auf dem Monitor, auch bei Druckern
Heute kann man das mehr als Indiz sehen, dass der Code zu verschachelt ist, mehr Funktionen zur Dekomposition braucht. Zudem erschweren überbreite Zeilen den Lesefluss.
Selbst moderne Sprachen wie Python haben das übernommen. Bei Java streitet man sich darüber, da die Sprache ganz schon geschwätzig ist.
Benutzeravatar
darktrym
LAN Manager
 
Beiträge: 207
Registriert: So 5. Jan 2014, 10:59
Wohnort: -D-

Re: Spieleprojekt in C / PDCurses, Probleme?! (Logbuch)

Beitragvon matze79 » Mo 22. Jun 2015, 19:46

Spiel grad wieder damit rum und Versuche den Code auf Borland Turbo C++ 3.1 zum compilieren zu bewegen.

pdcurses läuft schon.

Allerdings hab ich ein Problem mit meinen Globals.
Kann das Turbo C++ 3.1 nicht ?

Turbo Linker gibt mir jede Menge Fehler dieser Art:
Error: _forest defined in module main.c is duplicated in module enemy.c

Das bringt er mir bei allen globalen Variablen.
Diese sind doch in globals.h definiert.

Grüsse

Matthias
Natürlich haben wir nichts zu verbergen, dennoch machen wir auf dem Klo die Türe zu!
matze79
DOS-Gott
 
Beiträge: 7770
Registriert: So 9. Sep 2012, 19:48

Vorherige

Zurück zu Programmierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste