JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Zugriff auf Strukturen in Feldern?
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AFE-GmdG
JLI MVP
JLI MVP


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

BeitragVerfasst am: 21.08.2002, 10:51    Titel: Antworten mit Zitat

Deswegen hab ich ja auch gesagt, "die es Logisch zuläßt".
_________________
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
DaN00b
JLI'ler



Anmeldedatum: 10.08.2002
Beiträge: 159

Medaillen: Keine

BeitragVerfasst am: 21.08.2002, 11:33    Titel: Antworten mit Zitat

Zitat:
Wie oft versucht ihr denn, ein Programm während der erstellung zu compilieren?

Also ich mache es fast immer nach jeder kleinen Änderung, die es Logisch zuläßt, damit schleichen sich erst gar keine Programmierfehler ein, die später nicht oder nur schwer zu beheben sind.


naja ich hab ja auch des SpriteFire von kapitel 22 verändert und wie soll ich da öfters kompilieren wenn ich alten code zum teil lösch und stück für stück meinen neuen reintu? des kann ja gar nimmer funzen wenn z.b. spriteweapon von mir gelöscht wurde somit is netmal mehr der spieler zu sehen Wink
und es waren keine logischen fehler drinne Razz nur leichtsinnsfehler
(ein weiteres semikolon) ein break in ner schleife vergessen (ohne dem hatt ich wieder des gleiche wie zuvor... man konnte immer erst dann schießen wenn der schuss vom bildschirm verschwunden ist *gg*)

wenn ich was neues hinzuprog ohne viel altes zu löschen is ja klar das ich ständig compile um zu testen obs funzt...
_________________
Carpe Diem - Seize the day - Nütze den Tag!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 21.08.2002, 14:29    Titel: Antworten mit Zitat

ich würde auch gerne nach jeder kleinen änderung kompilieren, das dauert allerdings ne minute weil er meistens alles neu kompilieren muss Sad
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DaN00b
JLI'ler



Anmeldedatum: 10.08.2002
Beiträge: 159

Medaillen: Keine

BeitragVerfasst am: 21.08.2002, 16:10    Titel: Antworten mit Zitat

was hast en du für en rechner
_________________
Carpe Diem - Seize the day - Nütze den Tag!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
AFE-GmdG
JLI MVP
JLI MVP


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

BeitragVerfasst am: 21.08.2002, 16:51    Titel: Antworten mit Zitat

Kampfhund hat Folgendes geschrieben:
ich würde auch gerne nach jeder kleinen änderung kompilieren, das dauert allerdings ne minute weil er meistens alles neu kompilieren muss Sad

Also die Minute Zeit nehme ich mir dann auch noch. Was meinst du denn, was passiert, wenn Dein Programm ein paar 100000 Zeilen Code enthält, verteilt auf 100 Quell- und Headerdatein?
Suche dann mal dort nen Fehler, der durch deine Änderung passiert ist...
Außerdem kann man ja Incremental Kompilieren...

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
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 21.08.2002, 19:25    Titel: Antworten mit Zitat

VC++ kompiliert doch nur die Dateien neu, die auch geändert wurden! Oder meintest du, dass meistens in fast jeder Datei was ändern musst?
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: 21.08.2002, 19:32    Titel: Antworten mit Zitat

Das habe ich nicht gemeint, ich meinte, daß VC++ die Dateien kompilert, die nur geändert wurden. Das heißt nicht, das du immer alle Dateien ändern mußt.
_________________
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
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 22.08.2002, 14:33    Titel: Antworten mit Zitat

ich habe glaube ich nen AMD 800 MHZ mit 256 MB Ram und festplatte mit 40GB und glaube 7.200 umdrehungen. bin mir aber net sicher, kenne mich mit HW nicht aus.

Wenn ich die headerdatei die in 20 anderen dateien verwendet wir verändere, müssen diese 20 doch auch neu kompiliert werden.
Deswegen werden meistens immer 10-20 cpp dateien neu kompiliert.
insgesammt habe ich ungefähr 42 cpp dateien.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 22.08.2002, 16:19    Titel: Antworten mit Zitat

Ich würd euch empfehlen (sofern ihrs nicht schon tut) mit DLL´s zu arbeiten.
Da kann man ganz einfach die verschiedenen Teile des Spiels (Creatur-Klassen, Aus- und Eingabe-Verwaltungen, usw) in einzelne DLL´s packen und immer eine DLL nach der andern zu programmieren. Das ist übersichtlicher und weniger Fehleranfällig als wenn man 100 - 150 Dateien in einem Projekt hat, und man kann dann die Funktionen für alle anderen Spiele nutzen, ohne die Header-Dateien neu einbinden und kompilieren zu müssen.

Alles in allem eine sehr bequeme Lösung, finde ich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DaN00b
JLI'ler



Anmeldedatum: 10.08.2002
Beiträge: 159

Medaillen: Keine

BeitragVerfasst am: 22.08.2002, 19:20    Titel: Antworten mit Zitat

hmm das einzig dumme dran ist wenn man ne dll wegen nur einer funktion in nem anderen spiel brauchst ist das verschwendeter speicherplatz Very Happy
_________________
Carpe Diem - Seize the day - Nütze den Tag!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 22.08.2002, 19:54    Titel: Antworten mit Zitat

Man sollte die DLL´s deshalb auch vernünftig planen, sodass man z.B. eine DLL erstellt, in der man alle Grund-Grafik-Ausgaben-Funktionen reinpackt. Das selbe macht man dann für DInput, DSound, usw...

Ich hab nicht gemeint man sollte das gesamte Spiel in DLL´s packen, sondern nur so, das die Anzahl der Dateien von 150 auf 40 schrumpft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


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

BeitragVerfasst am: 22.08.2002, 23:10    Titel: Antworten mit Zitat

Ein gutes Konzept ist immer wichtig, egal, ob man nun mit DLL's arbeitet, oder nur mit einer statisch gelinkten Executable bestehend aus 100 Einzeldateien.
Ich jedenfalls versuche immer für jede cpp-Datei genau eine h-Datei zu erstellen, und solche "globalen Header", die von 100 cpp-Dateien eingebunden werden zu vermeiden.
Deder Header includet dann seinerseits nur die weiteren Header, die wirklich notwendig sind, niemals mehr.
Damit hält sich mein Kompilieraufwand in Grenzen, obwohl ich durchaus Code von 100 KB geschrieben hab

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
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 23.08.2002, 12:55    Titel: Antworten mit Zitat

100kb in einer datei? ne oder? bei mir sind die 84 dateien nämlich insgesammt 400kb groß.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


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

BeitragVerfasst am: 23.08.2002, 15:09    Titel: Antworten mit Zitat

Zusammen 100 KB... Ich hab derzeit ca. 16 Dateien
_________________
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
DaN00b
JLI'ler



Anmeldedatum: 10.08.2002
Beiträge: 159

Medaillen: Keine

BeitragVerfasst am: 31.08.2002, 18:50    Titel: Antworten mit Zitat

so ich möcht das thema nochmal kurz aufgreifen weil ich hab das nu wie oben geschrieben mit dem array als "puffer" für die projektile gemacht

das feld wird in einem manager als Projektil* ProjektilFeld[x] initialisiert

wenn ich einen schuss abfeuer wird in ner schleife ein freier platz im feld ermittelt und per new Projektil ein neues Projektil "gespawnt"

so jetzt wollt ich aber meine idee umsetzen die klasse Projektil nur als basisklasse zu verwenden und hab davon die klasse Projektil_Blaustrahl abgeleitet

wenn ich nu an der stelle an der new Projektil war nu new Projektil_Blaustrahl funktioniert alles bis an eben genau die stelle und es kommt folgender fehler:
Code:
ProjektilManager.cpp(14) : error C2243: 'type cast' : Konvertierung von 'class Projektil_Blaustrahl *' zu 'class Projektil *' existiert bereits, aber es ist kein Zugriff darauf moeglich


ist es nun doch nicht möglich einem feld das per basisklasse initialisiert worden ist eine abgeleitete klasse zuzuweißen?

bitte um hilfe ich werds aber selber auch noch weiterprobieren
thx für das verständnis des langen textes Wink
_________________
Carpe Diem - Seize the day - Nütze den Tag!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
Seite 3 von 4

 
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