Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 12.08.2002, 11:28 Titel: |
|
|
Das sollte eigentlich funktionieren!
Probier es doch einfach mal aus! _________________ Es geht auch ohne  |
|
Nach oben |
|
 |
VerruecktesHuhn Super JLI'ler

Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 12.08.2002, 11:40 Titel: |
|
|
Aber darauf zugreifen must du glaub mit "::" . |
|
Nach oben |
|
 |
Jörg JLI MVP


Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 12.08.2002, 13:31 Titel: |
|
|
Wenn du
Code: |
Tier* TierFeld[3];
TierFeld[0] = new Katze();
TierFeld[1] = new Hund();
TierFeld[2] = new Schwein();
TierFeld[0]->Fressen();
|
schreibst, sollte es gehen. Du musst mit new Speicher alloziieren und du musst darauf achten, dass dein Array von 0 bis 2 geht, nicht von 1 bis 3!
Wenn du die Viecher dann nicht mehr brauchst musst du sie mit
Code: |
delete TierFeld[0];
delete TierFeld[1];
delete TierFeld[2];
|
wieder aus dem Speicher verjagen. _________________ www.messiahzone.de.vu |
|
Nach oben |
|
 |
Sören JLI Master Trainee

Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 12.08.2002, 13:50 Titel: |
|
|
Reicht nicht auch einfach nur delete[] TierFeld; ?? Wenn nicht dann hab ich ein Problem *schluck*!  |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 12.08.2002, 14:07 Titel: |
|
|
Nein, delete[] nimmt man nur, wenn man ein ganzes Array alloziiert hat:
Code: |
int * intArray = new int[MAX];
...
delete[] intArray;
|
_________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
DaN00b JLI'ler

Anmeldedatum: 10.08.2002 Beiträge: 159
Medaillen: Keine
|
Verfasst am: 12.08.2002, 15:13 Titel: |
|
|
thx
ich will nämlich den shooter von christian erweitern und dachte mir erstmal die waffe zu verbessern weil bei christians version ja immer nur ein projektil fliegen kann und der schuss hat auch keine bestimmte frequenz und hängt somit von der entfernung des spielers vom oberen bildschrimrand fest.
ich dachte mich eine klasse zu schreiben mit einem feld der klasse projektil und den methoden update() und setNull() und mach global ne instanz davon
nun soll immer wenn der spieler einen schuss abfeuert in einer schleife das "projektilfeld" durchgegangen werden und wenn ein eintrag frei ist wird dort das neue projektil angelegt
danach soll in der render-funktion die methode update aufgerufen werden die ebenfalls eine for-schleife enthält und das feld abtastet und bei jedem eintrag die render/update methode des projektil aufgerufen werden in der das projektil neu geblittet wird etc etc
wenn ein projektil aus dem bildschirm verschwindet wird die funktion setNull aufgerufen die dann den eintrag des projektils im feld auf 0 setzt damit wieder platz für ein neues ist
somit wäre dann das array ein puffer für meine projektile
ich hätte gerne ratschläge/meinungen ob das funktionieren könnte oder ob ich das auch ganz einfacher haben kann |
|
Nach oben |
|
 |
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 12.08.2002, 18:31 Titel: |
|
|
Wenn du unabhängig von einer festen Zahl von Projektilen sein willst, würde ich dir eine verkettete liste als Struktur empfehlen. Da hast du nämlich mit sicherheit keine Arraygrenzenmüberschreitung! _________________ Es geht auch ohne  |
|
Nach oben |
|
 |
DaN00b JLI'ler

Anmeldedatum: 10.08.2002 Beiträge: 159
Medaillen: Keine
|
Verfasst am: 12.08.2002, 20:35 Titel: |
|
|
du meinst so eine liste wie christian sie schon angelegt hat?
das hab ich mir auch schon überlegt aber ich wollt einfach was eigenes machen *gg*
und das feld grenzt mich in dem sinn ja net ein ich kanns ja beliebig groß machen
meine frage war ja eher ob das so funktionieren könnte |
|
Nach oben |
|
 |
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 13.08.2002, 08:48 Titel: |
|
|
sicher funzt das bloß ein array sehr groß ist nicht sehr gut, weil das viel speicher kostet. macht heute bei den arbeitsspeichern auch nicht mehr so viel, es ist aber unschön! _________________ Es geht auch ohne  |
|
Nach oben |
|
 |
DaN00b JLI'ler

Anmeldedatum: 10.08.2002 Beiträge: 159
Medaillen: Keine
|
Verfasst am: 13.08.2002, 09:58 Titel: |
|
|
ok
danke ich werd mir selber nu überlegen was einfacher ist ^^ |
|
Nach oben |
|
 |
DaN00b JLI'ler

Anmeldedatum: 10.08.2002 Beiträge: 159
Medaillen: Keine
|
Verfasst am: 20.08.2002, 20:07 Titel: |
|
|
so hab das nu mit dem feld gemacht und funzt einwandfrei ob der code nu schnell ist oder nicht interessiert bei nem so kleinen prog net und ich bin erstmal überglücklich das der compiler beim ersten versuch "nur" 32 fehler ausgespuckt hat *gg* (war nur ein semikolon dran schuld danach warens nur noch 5 fehler )
falls wer den code haben will einfach mir mailen ich schick dann _________________ Carpe Diem - Seize the day - Nütze den Tag! |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 21.08.2002, 04:02 Titel: |
|
|
Zitat: |
...danach warens nur noch 5 fehler )
|
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.
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 |
|
 |
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 21.08.2002, 08:52 Titel: |
|
|
stimmt, ich teste auch immer nach der kleinsten änderung, ob es noch funktioniert. das ist viel einfacher als sich hinterher vom fertigen programm mit hunderten von fehler überraschen zu lassen! _________________ Es geht auch ohne  |
|
Nach oben |
|
 |
Sören JLI Master Trainee

Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 21.08.2002, 09:44 Titel: |
|
|
Es ist aber nicht immer möglich nach jeder kleinen Änderung zu kompilieren!
MiracleBoy  |
|
Nach oben |
|
 |
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 21.08.2002, 09:49 Titel: |
|
|
Nötig ist es nicht, aber es ist doch nicht wirklich ein großer aufwand  _________________ Es geht auch ohne  |
|
Nach oben |
|
 |
|