Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
3 registered members (NewbieZorro, TipmyPip, AndrewAMD), 14,749 guests, and 7 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Countdown bringt system zum Absturtz #404051
07/01/12 18:47
07/01/12 18:47
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
Hi,
wie schon oben zu lesen habe ich ein Problem mit einer Schleife.

function Zaehler()
{
while(1)
if(start == 1)
{
if(verzoegerung_zeit >= 1)
{
verzoegerung_zeit = verzoegerung_zeit - 1;
wait(1);
}
wait(-1);
}
wait(1);
}

rufe ich nun die Function in der Main auf hängt sich das system auf.
Habe alles auch schon mit anderen Schleifen verglichen. kann aber keinen unterschied finden.

Re: Countdown bringt system zum Absturtz [Re: Icke] #404053
07/01/12 19:05
07/01/12 19:05
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Wenn start ungleich 1 ist erhälst Du eine Endlosschleife. Ich nehme an Du hast die geschweiften Klammern der While Schleife vergessen. Bitte benutze doch Code Tags wenn Du Code postest und formatier den Code. Dann ist der Fehler auch nochmal so schnell zu erkennen.


Always learn from history, to be sure you make the same mistakes again...
Re: Countdown bringt system zum Absturtz [Re: Uhrwerk] #404054
07/01/12 19:15
07/01/12 19:15
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
zwischen while(1) und der Anweisung braucht es nicht zwingend eine geschweifte klammer.
habe nun folgenden Code:
function Zaehler()
{
while(1)
{

if(start == 1)
{
if(verzoegerung_zeit >= 1)
{
verzoegerung_zeit = verzoegerung_zeit - 1;
wait(1);
}
}
wait(-1);
}
wait(1);
}

funktioniert aber nur bedingt.
er Zählt zwar runter aber viel zu schnell und schon gar nicht im secundentakt.
was für mich zur zeit das primärziel ist.

hoffe die anzeige sieht jetzt besser aus.

Re: Countdown bringt system zum Absturtz [Re: Icke] #404056
07/01/12 19:36
07/01/12 19:36
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Originally Posted By: Icke
zwischen while(1) und der Anweisung braucht es nicht zwingend eine geschweifte klammer.
Doch. Weil Du sonst eine Endlosschleife erhälst, weil das wait(1) nicht mehr mit in die Schleife fällt.

Originally Posted By: Icke
funktioniert aber nur bedingt. er Zählt zwar runter aber viel zu schnell und schon gar nicht im secundentakt.

Geh doch nochmal die ganzen waits durch. wait(1) wartet ein frame. wait(-1) wartet eine Sekunde. Das letzte wait zum Beispiel ist komplett überflüssig. Du machst es Dir auch einfacher wenn Du zwei Schleifen nimmst. Warte in der ersten bis start auf 1 gesetzt ist. In der zweiten kannst Du runter zählen. Das macht das Lesen und das Schreiben des Codes einfacher.



Originally Posted By: Icke
hoffe die anzeige sieht jetzt besser aus.

Nein, wie schon gesagt. Bitte benutze die Code Tags. Das ist das Rautensymbol.


Always learn from history, to be sure you make the same mistakes again...
Re: Countdown bringt system zum Absturtz [Re: Uhrwerk] #404066
07/02/12 06:01
07/02/12 06:01
Joined: Jan 2003
Posts: 4,305
Damocles Offline
Expert
Damocles  Offline
Expert

Joined: Jan 2003
Posts: 4,305
Das sind typische Anfängefehler im Coding, deshalb IMMER
die Einrückungen beachten und im Editor manuell vornehmen.

Wenn man den Code korrekt formatiert sieht man solche Probleme auf den ersten Blick.

Code:
while(x>0)
{
  if(y==1)
  {
     if(a==b)
     {
       ...
     }

  }

  if(y>10)
  {
     ...
  }

 ...
}



Die öffneneden und schliessenden Klammern sollten immer die gleiche Einrückung haben.

So sieht man immer schön welche Klammer zu welcher End-Klammer gehört. Die Arbeit sollte man immer investieren.

Quote:
zwischen while(1) und der Anweisung braucht es nicht zwingend eine geschweifte klammer.


Das ist ne "Abkürzung" in der C-Syntax, die - wie gesehen - zum fehlerhaften Code führt wenn man sie falsch versteht.
Denn while fürt hier nur die Condition aus, nicht aber das wait.
Auch hier immer Klammern verwenden.
Die Condition ohne Klammern sollte man nur bei simplen Einzeilern verwenden, wie ein

Code:
if(a==b) b=c;



Re: Countdown bringt system zum Absturtz [Re: Damocles] #404118
07/02/12 17:57
07/02/12 17:57
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
Problem hat sich erledigt. habs irgendwie geschafft.

übrigens halte ich meinen Code immer recht übersichtlich. nicht nur durch einrücken sondern auch durch auskommentieren und abgrenzungen. und das schon seit jahren.

so bald ich etwas in die quick repley textbox eintrage sieht es noch ganz ordentlich aus. aber nach dem rausschicken schon wieder sch.. .

Danke euch trotzdem recht herzlich

Re: Countdown bringt system zum Absturtz [Re: Icke] #404121
07/02/12 18:14
07/02/12 18:14
Joined: Mar 2006
Posts: 1,993
Karlsruhe
PadMalcom Offline
Serious User
PadMalcom  Offline
Serious User

Joined: Mar 2006
Posts: 1,993
Karlsruhe
"Habs irgendwie geschafft" heißt du hast keinen Schimmer woran es lag und wirst es demnächst wieder falsch machen? wink Versuch lieber immer zu verstehen was du tust, dadurch lernst du echt schneller!

Re: Countdown bringt system zum Absturtz [Re: Icke] #404129
07/02/12 21:03
07/02/12 21:03
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Originally Posted By: Icke
so bald ich etwas in die quick repley textbox eintrage sieht es noch ganz ordentlich aus. aber nach dem rausschicken schon wieder sch.. .

Genau aus dem Grund hatte ich dich ja gebeten die Code Tags zu verwenden. Siehe "What UBBCode can I use in my posts?":

http://www.opserver.de/ubb7/ubbthreads.php?ubb=faq


Always learn from history, to be sure you make the same mistakes again...

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

Gamestudio download | 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