JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=fa29f7581dc26212d18e774bc5ced23fMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Text Ersetzungen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Revil
Senior JLI'ler



Anmeldedatum: 28.07.2002
Beiträge: 242

Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 16:47    Titel: Text Ersetzungen Antworten mit Zitat

Hi,

Ich arbeite seit einiger Zeit an einem Jump'n Run und mittlerweile is der Quellcode einigermaßen umfangreich und beginnt unübersichtlich zu werden. Ich habe schon die meisten sachen in Klassen exportiert und in die Hauptdatei includiert, allerdings ist die Hauptdatei immer noch ziemlich groß und ich würde sie gerne weiter zerlegen. Dazu will ich einfach logisch zusammen gehörige Teile in kleine Dateien auslagern. Nun wüßte ich gerne ob es eine Methode gibt, solche kleinen Dateien in die Hauptdatei einzubinden, und zwar so das sie vor dem kompilieren vom Compiler automatisch so gehandelt werden als würde der Text noch direkt in der Hauptdatei stehen. Das geht nicht mit #include , weil er da will das ich alle Dateitypen usw. in der unterdatei auch definiere...

Es sollte also so aussehen:

Haupdatei:

Quellcode1
Quellcode2
Quellcode3
#Ersetzungsbefehl auslagerdatei1
Quellcode4
#Ersetzungsbefehl auslagerdatei2
Quellcode5


auslagerdatei1:
blabla1

auslagerdatei2:
blabla2


Und für den Kompiler sollte es dann eben beim kompilieren so aussehen:

Quellcode1
Quellcode2
Quellcode3
blabla1
Quellcode4
blabla2
Quellcode5


Weiß jemand wie das geht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 17:10    Titel: Antworten mit Zitat

Das muss mit #include gehen. #include wird vor dem kompilieren aufgelöst.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 17:40    Titel: Antworten mit Zitat

Du mußt den auszulagernden Teil als Funktion schreiben, damit diese dann an der entsprechenden Stelle aufgerufen werden kann. Dabei mußt du natürlich auf die Gültigkeitsbereiche der Variablen achten.

Auch funktionabel aber bei weitem nicht so schön ist die Möglichkeit, auszulagernde Codezeilen als Makros zu implementieren.

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Revil
Senior JLI'ler



Anmeldedatum: 28.07.2002
Beiträge: 242

Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 20:59    Titel: Antworten mit Zitat

hm es geht nicht mit #include weil ich eine Funktion habe in der zum Beispiel der Dateityp FILE oder eine wo DDSurfaces vorkommen habe.
Und ich will vermeiden das ich da nochmal alle header dateien einbinden muß Smile ...
Wie funktioniert das denn mit den Makros?
Es muß doch irgendeine/n möglichkeit/Befehl geben, meine Auslagerungsdateien an die entsprechenden Stellen zu kopieren, BEVOR der Compiler irgendwas macht, also in diesem Fall prüft ob alle Dateitypen definiert sind...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 21:17    Titel: Antworten mit Zitat

Das ist aber sehr unsauber... normalerweise packt man alles in Funktionen und/oder Klassen.

Zu deiner Frage:
Pack die Makros in nen Header und binde sie mit ein. In deinen Funktionen machst du dann z.B. das

Code:

void main()
{
  ...
  SNIPPET1;
  ...
   SNIPPET2;
}


In deinem Header hast du dann z.B. das:

Code:

#define SNIPPET1  cout << "Das" /    //   / oder \ bin .. bin mir net sicher
                                    << "ist"  /
                                     << "ein Test";

...

_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 21:39    Titel: Antworten mit Zitat

Ich hab ja schon gesagt, das das sehr unsauber ist...
Aber mir scheint, einige Leute hier sollten sich mal mehr Gedanken mit der Projektplanung machen, bevor sie Losprogrammieren - das wär übrigens ein gutes Kapitel für dein Buch, Christian! - Projektplanung

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Revil
Senior JLI'ler



Anmeldedatum: 28.07.2002
Beiträge: 242

Medaillen: Keine

BeitragVerfasst am: 28.10.2002, 22:54    Titel: Antworten mit Zitat

ne das ist mir wirklich zu unsauber =D

jo ich geb zu das das spiel nicht allzu gut geplant war... (vor allem deswegen, weil es mein erstes projekt ist und ich gar keine vorstellung davon hatte, was ich alles brauchen werde)

Aber selbst wenn ich ein sauber geplantes Projekt hätte, muß es doch noch einen anderen Weg als das normale includieren geben... Es muß doch irgendeinen Befehl geben der einfach meine Textdatei statt des Ersetzungs-Befehl kopiert.......
Klar man kann auch durch einige tausend Zeilen scrollen und sich die Stellen so raussuchen, aber das ist halt nicht so übersichtlich und praktisch...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum