JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

If frage ...

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



Anmeldedatum: 16.05.2004
Beiträge: 88
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 09.11.2004, 22:30    Titel: If frage ... Antworten mit Zitat

Hi leude ... lang nich mehr "gesehen" Wink
ok jetzt zu meiner frage ...
wie kann ich ne If anweisung machen das halt wenn true is das er dan das ganze "prog" nochmal von vorne abspielt ? oder den Block von vorne abspielt ?
Sry wegen rechtschreibung :/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 09.11.2004, 22:46    Titel: Antworten mit Zitat

Code:


int i=0;

int main (void)
{
    i++;
   
    if (i< 30)
    {
        std::cout << "Aufruf nr. " << i << std::endl;
        main (); // Rekursiver Aufruf
    }

    return 0;
}

_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 10.11.2004, 07:22    Titel: Antworten mit Zitat

entweder so, aber es gibt noch 2 Lösungen. Die eine davon ist so böse, das sie in den meisten C++ Bücher gar nicht behandelt wird. Nämlich die "goto" Anweisung.
Aber am meisten wird man das wohl irgendwie mit ner Schleife lösen wie z. :B in einer Gameloop.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 10.11.2004, 08:03    Titel: Antworten mit Zitat

Code:


#include <setjmp.h>

int i=0;
jmp_buf env;

int main (void)
{
    setjmp(env);
    i++;
   
    if (i< 30)
    {
        std::cout << "Aufruf nr. " << i << std::endl;
        longjmp(env, -1);
    }

    return 0;
}


Ist aber ne gefährliche Angelegenheit unter C++
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 10.11.2004, 13:54    Titel: Antworten mit Zitat

hm, etwas einfacher als das von Fallen:
Code:

int main()
{
 int counter=0;
loop: counter++;
        cout << counter;
        if(counter<5)
              goto loop;
 cout << "Fertig";
 return 0;
}

Wie man sieht eine einfache Schleife (so funktionieren sie auch in wircklichkeit, die while's sind im Prinzip nur besser lesbare versionen). ABER: Schwer lesebar und wohl auch etwas fehleranfällig (wenn man sich vertipt oder so). Man sollte immer Schleifen oder Funktionen nutzen!
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jakozk
Junior JLI'ler



Anmeldedatum: 16.05.2004
Beiträge: 88
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 11.11.2004, 18:05    Titel: Antworten mit Zitat

ui cool danke leute fuer die antworten ... ich werde die codes mal ausprobieren ....
Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beni5
Super JLI'ler


Alter: 37
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 11.11.2004, 19:48    Titel: Antworten mit Zitat

Ehm wieso so kompliziert?
Geht das nicht auch so?
Code:

bool leave = false;

int main()
{
   do
   {
      // Alles was du inner Main ausführen willst
   }
   while(leave == false);

   return 0;
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kronos
Senior JLI'ler



Anmeldedatum: 19.03.2004
Beiträge: 290

Medaillen: Keine

BeitragVerfasst am: 11.11.2004, 19:50    Titel: Antworten mit Zitat

bzw. mach einfach while(!leave)

Zuletzt bearbeitet von Kronos am 11.11.2004, 19:51, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 11.11.2004, 19:50    Titel: Antworten mit Zitat

Code:
int main()
{
  bool bExit=false;
  while(1)
  {
    //Have fun
    if(bExit)
      return 0;
  }
}


Oder so
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jakozk
Junior JLI'ler



Anmeldedatum: 16.05.2004
Beiträge: 88
Wohnort: Berlin
Medaillen: Keine

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

das is einfacher als das da drüber ... thx Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 11.11.2004, 21:35    Titel: Antworten mit Zitat

aber endlosschleifen sind programmiertechnisch nicht so schön...
außerdem ist es übersichtlicher, wenn man die Abbruchbedingung auf einen Blick hat
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beni5
Super JLI'ler


Alter: 37
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 11.11.2004, 21:57    Titel: Antworten mit Zitat

Und vorallem soll es ja mindestens 1 mal ausgeführt werden. Da nimmt man normalerweise eine do-while schleife.
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