Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
4 registered members (AndrewAMD, 7th_zorro, VoroneTZ, HoopyDerFrood), 1,264 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
LucasJoshua, Baklazhan, Hanky27, firatv, wandaluciaia
19053 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
While-Schleife richtig stoppen? #420677
03/31/13 19:50
03/31/13 19:50
Joined: Jun 2008
Posts: 156
B
Bastiuscha Offline OP
Member
Bastiuscha  Offline OP
Member
B

Joined: Jun 2008
Posts: 156
Hallo,

wie kann ich eine Whileschleife einfach stoppen? Nach dem Laden des nächsten Levels wird sie nicht mehr benötigt.

Mein Versuch hat nicht geklappt:

Code:
void playerfall()
{

  int nX = 1;


  while (nX = 1) {
	
		    if (player.z < -150) {
		    ptr_remove(player);
		    resetplayer();
		    }
	
	wait (1);	
	}


}


Nachdem ich eine neue wmb geladen habe, wollte ich das Ganze mit int nX = 0; in einer anderen Function aushebeln, aber das scheint so nicht zu funktionieren. Die playerfall Schleife bleibt weiter aktiv. Wie macht man das richtig? Muss man den Inhalt von int nX nochmal extra in eine Variable setzen? Wenn ja, wie sieht das aus?
Oder ist der Ansatz ganz falsch?


MfG
Basti

Re: While-Schleife richtig stoppen? [Re: Bastiuscha] #420678
03/31/13 19:56
03/31/13 19:56
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Deine Variable ist lokal definiert, weshalb jegliche Änderung einer bspw. globalen Variable mit dem gleichen Namen keinen Effekt auf diese in der entsprechenden Funktion haben kann.
Die Bedingung in deiner while-Schleife ist zudem stets wahr, da du den Wert der Variablen nX nicht mit 1 vergleichst, sondern nX immer wieder auf 1 setzt. "=" ist der Zuweisungsoperator, "==" der Vergleichsoperator.
Eine kürzere Variante, bei welcher dieser Fehler nicht auftreten kann, ist folgende Methode:

Code:
var i = 1;
while(i) // stets wahr, solange i ungleich 0 ist
{
if(key_space) i = 0;
wait(1);
}



"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: While-Schleife richtig stoppen? [Re: Bastiuscha] #420679
03/31/13 19:56
03/31/13 19:56
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline
Member
Ascalon  Offline
Member

Joined: Apr 2005
Posts: 274
austria
du brauchst ein doppeltes == wenn du werte vergleichen willst. und eine while-schleife kannst du mit break beenden.


my webside : www.ascalon.jimdo.de
Re: While-Schleife richtig stoppen? [Re: Ascalon] #420683
03/31/13 20:17
03/31/13 20:17
Joined: Jun 2008
Posts: 156
B
Bastiuscha Offline OP
Member
Bastiuscha  Offline OP
Member
B

Joined: Jun 2008
Posts: 156
Ok, gute Infos mit dem == und While(i) Beispiel. Aber wie ich diese Schleife aus einer anderen Function stoppen kann, hab ich trotzdem nicht verstanden. Break und if (key) nützen mir in dem Fall ja nichts. Oder zumindest weiss ich das nicht ausserhalb der Schleife zu verwerten.

Re: While-Schleife richtig stoppen? [Re: Bastiuscha] #420685
03/31/13 20:21
03/31/13 20:21
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline
Member
Ascalon  Offline
Member

Joined: Apr 2005
Posts: 274
austria
es gibt auch die funktion proc_kill(), schau mal im handbuch nach darüber


my webside : www.ascalon.jimdo.de
Re: While-Schleife richtig stoppen? [Re: Bastiuscha] #420686
03/31/13 20:22
03/31/13 20:22
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Lies bitte den ersten Satz meines vorigen Postes erneut und schlage nach, was dir unbekannt sein sollte. Dann erschließt sich die Lösung sofort.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: While-Schleife richtig stoppen? [Re: Superku] #420691
03/31/13 21:01
03/31/13 21:01
Joined: Jun 2008
Posts: 156
B
Bastiuscha Offline OP
Member
Bastiuscha  Offline OP
Member
B

Joined: Jun 2008
Posts: 156
AHHH habs begriffen...ich muss dann in der anderen Funktion i = 0; schreiben und nicht, var i = 0; ...jetzt klappts danke Euch und MIR. laugh


Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1