Snake mit c++ schreiben



  • Sleep hält das Programm für die angegebene Zeit an. Danach läuft es weiter.



  • Also bei mir hat sleep nie functioniert!^^ Ich habe daher diesen Code bekommen!

    Das kommt vor die main!

    void wait(double sec) //Warte Funktion
    {
        const DWORD dwWait = GetTickCount();
        while(GetTickCount()-dwWait < sec*1000);
    }
    

    und das dorthin wo sie die Pause haben wollen!

    wait(1); //Hier wartet das Programm eine Sekunde! Dann läuft es weiter!
    

    Ich hoffe das hilft ihnen! Viel Spaß!

    MFG: DerLateinProfi



  • Naja, hoffen wir mal dass Du besser Latein kannst als Programmieren...

    Deine FUnktion funktioniert zwar meistens aber nicht immer... und "Sleep" ist eigentlich trivial:

    #include <windows.h>
    #include <tchar.h>
    
    int _tmain()
    {
      Sleep(1000);
    }
    

    Ok, das ist für einen Lateinen zu schwierig... :p



  • Probier mal

    System::Threading::Thread::Sleep(Millisekunden);//Für Clr Console oder
    Sleep(Millisekunden);//Für win32 Console, die while Schleife verbraucht zu viel Leistung
    

    Warum so schwer machen



  • Ihr hört ihm ja garnicht zu. Er braucht keine Pause, sondern einen Timer.

    Ein Beispiel mit Standard-C Funktionen:
    http://oldmill.uchicago.edu/~wilder/Code/timer/



  • Bei einem konsolenprogramm, dass keine Buttons oder sonstigen Controls updaten muss reicht Sleep vollkommen aus



  • Da er eine Art Snake Spiel macht, denke mal die Schlange soll sich bewegen während die Sterne auftauchen. Aber das kann er uns vielleicht verraten.



  • Ja und? Dann machs Halt so

    while(running){
    
    Schlange->Move(JetztigeRichtung);//Schlange bewegen
    if(Schlange->KopfKommtIrgendwoGegen())Schlange->HatVerloren(); //Angedotzt? Verloren!
    
    if(ZeitPasstInMaske(Zeit))Field->FügeSternHinzu(NichtSoNaheAmKopfDer(Schlange));//Zeit  ist ein vielfaches von irgendwas? Stern hinzufügen!
    
    Sleep(1000);//Schleife warten Lassen
    Zeit++;//Zeit schreitet voran
    }
    

    Mit der while Schleife weisst du die Reihenfolge der Ereignisse genau



  • Ihr hört ihm ja garnicht zu. Er braucht keine Pause, sondern einen Timer.

    Wieso ? Er will jede Sekunde nen Stern ausgeben, die Antwort passt auf die Frage. Alles andere ist geraten und muss nicht das Ergebnis sein was der OP haben möchte. (Man kann ja die Fragen auch sinvoll stellen und schreiben was man hat. )



  • Knuddlbaer schrieb:

    Ihr hört ihm ja garnicht zu. Er braucht keine Pause, sondern einen Timer.

    Wieso ? Er will jede Sekunde nen Stern ausgeben, die Antwort passt auf die Frage. Alles andere ist geraten und muss nicht das Ergebnis sein was der OP haben möchte. (Man kann ja die Fragen auch sinvoll stellen und schreiben was man hat. )

    Jaja, ich hab verstanden..


Anmelden zum Antworten