Fenster leeren?



  • Ich mache gerade ein dos adventure!
    Nach einiger Zeit stößt man auf die Frage :

    cout<<"\nWas tust du am liebsten von den 5 Sachen?\n";
    	char PlayerHob [ 128 ];
    	cout<<"1. Fussball spielen!\n";
    	cout<<"2. PC spielen!\n"; //30 Zeichen
    	cout<<"3. Fitness!\n";
    	cout<<"4. Fernsehen\n";
    	cout<<"5. Essen!\n";
    	cout<<"Gebe 1, 2, 3, 4 oder 5 ein!\n";
    	cin>>PlayerHob;
    
    if (0==_strcmpi (PlayerHob, "1"))
    {
    cout<<PlayerName<<" spielt also gerne Fussball! OK";
    cout<<"\nLasst die Story beginnen...\n";
    
    }
    
    else if (0==_strcmpi (PlayerHob,"2"))
    {   
    cout<<PlayerName<<" spielt also gerne PC! OK"; 
    cout<<"\nLasst die Story beginnen...\n";
    }
    
    else
    {   
    cout<<"\nDu sollst eine Zahl zwischen 1 und 5 eingeben!\n";
    }
    

    Ich will das wenn der Spieler 1 drueckt Ausgeben wird
    Spieler spielt also gerne Fussball!
    Lasst die Story beginnen....

    Das soll aber in einem "neuen" Fenster ausgeben werden!
    Wo nichts mehr von der Frage oder den Antwort-möglichkeiten zu sehen ist!
    Ich denke das sieht besser aus!



  • hm, also unter windows wäre dies system("cls");(dirty 🙄 )
    Für Standard C++ ist mir ein solcher befehl allerdings unbekannt.

    Devil



  • Also ich hab mal ein textadventure gesehen!
    das war glaub ich spiel des monats (die eingschickt werden) in ner gamestar oder so



  • schau mal ins konsolenfaq, da steht eine masse zu bildschirm löschen.. je nach lust und laune und betriebssystem!



  • habs
    alle die es wissen wollen:

    #include <cstdlib> 
    cout<<"\nWas tust du am liebsten von den 5 Sachen?\n"; 
        char PlayerHob [ 128 ]; 
        cout<<"1. Fussball spielen!\n"; 
        cout<<"2. PC spielen!\n"; //30 Zeichen 
        cout<<"3. Fitness!\n"; 
        cout<<"4. Fernsehen\n"; 
        cout<<"5. Essen!\n"; 
        cout<<"Gebe 1, 2, 3, 4 oder 5 ein!\n"; 
        cin>>PlayerHob; 
    
    if (0==_strcmpi (PlayerHob, "1")) 
    { 
    cout<<PlayerName<<" spielt also gerne Fussball! OK"; 
    cout<<"\nLasst die Story beginnen...\n"; 
    	system("cls"); 
    
    } 
    
    else if (0==_strcmpi (PlayerHob,"2")) 
    {    
    cout<<PlayerName<<" spielt also gerne PC! OK";  
    cout<<"\nLasst die Story beginnen...\n"; 
    	system("cls"); 
    } 
    
    else 
    {    
    cout<<"\nDu sollst eine Zahl zwischen 1 und 5 eingeben!\n"; 
    }
    

    system("cls"); war es!



  • Guck mal in die Konsolen-FAQ, warum system() böse ist!

    Dann stand in der FAQ auch das hier:

    Konsolen FAQ schrieb:

    C/C++ Code: 
    // C-Version von clrscr() 
    #include <stdio.h> 
     
    void clrscr () 
    { 
        printf ( "\033[2J" ); 
    }
    

    Ich denke, wenn du nicht unbedingt die kleinste Performence aus deinem Proggi. rauskitzeln willst, kannst du auch "system("cls")" benutzen ...



  • Konsolen FAQ schrieb:

    C/C++ Code: 
    // C-Version von clrscr() 
    #include <stdio.h> 
     
    void clrscr () 
    { 
        printf ( "\033[2J" ); 
    }
    

    Das wäre glaube ich nicht so optimal, da Die Konsolen FAQ auch folgendes sagt:

    Escapesequenzen funktionieren nur auf Systemen mit dem Betriebssystem Windows 9x ( auch bei kombinierten Betriebssystemen, wie zum Beispiel Windows XP funktionieren sie nicht ).


Anmelden zum Antworten