000
22.09.2005, 23:14 Uhr
HOwTnTEd
|
Hallo ihr programmer...
Ich habe in der schule c/c++ als fach. Das seit nun über 1 jahr. Wir programmieren zur Zeit nur in der Konsole. Es wird aber langsam etwas langweilig, weil die programme die wir schreiben taugen nix. Ich habe deswegen schon kleinere konsolenspiele geschrieben. Mein größtes Spiel war ein Mix aus Snake und Warcraft 3. Man musste mit seiner figur Mana einsammeln und konnte dann Zauber auf den anderen wirken. Meine Vorgehensweise dabei:
Ich habe mein programm aufgeteilt in:
- grafik(); // grafikausgabe im spiel und menue - steuerung(); // eingabenverarbeitung - logik(); // berechnungen u.ä - main(); // spielschleife
tja das war so ungefähr mein aufbau. Es endete aber oftmals in viel verwirrung und überschneidungen der einzelenen funktionen (man konnte nicht die ganze grafik bei der grafik lassen sondern musste auch paar grafikstücke bei steuerung usw. einbauen) Irgendwann habe ich das projekt neu angefangen und ordentlicher sortiert. Trotzdem war die übersicht nicht so wie ich es mir vorgestellt habe. Ein weiteres Problem wofür ich noch keine lösung habe ist: In meinem spiel gibt es ja verschiedene grafikausgaben (Intro, Menue, Spiel, Outro). Ich habe das nun per if() abfragen unterschieden. alles stand immernoch in der funktion grafik(status); status war die variable für die jeweilige ausgabe (die oben stehenden). Tja ihr könnt euch vorstellen das ein überblick da langsam schwer wurde bei 10000 zeilen code.
Meine eigentliche Frage ist nun: Wie kann ich so ein projekt am besten mit Klassen aufbauen? Ist es sinnvoll klassen zu verwenden? Brauch ich für alles ne eigene Klasse (z.b für: spieler, grafik, steuerung, schuss, zauber, logik, menue, intro usw...) Ich habe keine genaue vorstellung wie ich so ein projekt aufbauen muss damit man sich mit der zeit nicht verzettelt.
Ebenfalls weiß ich nun nicht ob ihr mein Problem verstanden habt, oder ich mich nicht präziese genug ausdrücken konnte. Wenn etwas unklar an meiner fragestellung ist, dann fragt bitte. Da ich nicht genau weiß wie ich meine fragen stellen soll fällt es mir hier schwer die richtigen worte zu finden. Also ich hoffe mal das geht so einiger maßen. Was ich nicht erwarte ist hier der code. Nein die arbeit mach ich mir schon selber. Mich würde nur der grundaufbau eines solchen projekts interessieren.
Danke und ich hoffe ihr antwortet viel, howtnted -- Hotte + oWned = HowTnTEd |