Bild in C++ für wenige Sekunden einblenden lassen (Graphische Oberfläche)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bild in C++ für wenige Sekunden einblenden lassen (Graphische Oberfläche)

    Hallo;
    ich soll von der Schule aus ein Nimm- bzw. Streichholzspiel programmieren...
    Ich komme auch ganz gut klar und mein Grundgerüst steht...Nur möchte ich immer wenn der Computer zieht(1,2, oder 3 Streichhölzer) ein Bild für 2 Sekunden einblenden lassen...danach soll das Bild wieder verschwinden und der Spieler zieht seine 1,2 oder 3 Streichölzer und dann wieder das Bild und der Computer zieht....Soweit ist alles prpgrammiert der Computer zieht logisch seine Streichhölzer und im großen und ganzen ist das Spiel spielbar...nur halt diese eine Sache.

    Ich nehme auch gerne andere Lösungsvorschläge entgegen...Das Problem ist einfach nur das nachdem der Spieler gezogen hat verschwinden auch schon im selben Moment die Streichhölzer die der Computer zieht....

    Ich danke im vorraus...Mfg.
  • pocky schrieb:

    was für eine grafische oberfläche?
    na ich hab visual studio 2008 und wenn man auf datei -> neu -> neues projekt -> windows forms-anwendung öffnet kann man doch was mit graphischer oberfläche programmieren...

    und zu dieser sleep-funktion....kenn ich nicht...wie gesagt beschäftige mich zum ersten mal mit c++......und in der tool-box find ich diese funktion nicht...

    mfg.
  • Quellcode

    1. #include <iostream>
    2. #include <windows.h>
    3. using namespace std;
    4. int main()
    5. {
    6. for(int i = 0; i <= 5; ++i)
    7. {
    8. cout << "This is the text, please wait..." << endl;
    9. Sleep(2000);
    10. }
    11. cout << endl;
    12. cout << "Ok, press the ENTER button to exit." << endl;
    13. cin.get();
    14. return 0;
    15. }
    Alles anzeigen






    Quelle: c-plusplus.de/forum/190320

    Das ist halt ein Beispiel wie man die Funktion benutzen könnte.
    1 Sekunde = 1000 Millisekunden



    mfg
  • Danke für deine schnell Antwort .. ich glaube das bringt mir aber keinen Vorteil. Wenn ich nämlich eine Eingabe mache und
    danach unterbrechen will, bringt mir cin.get(); nichts, da eine
    Eingabe bereits vorhanden ist.

    ich möchte ja nach dem klicken auf die button 1,2 oder 3 eine 2 sekunden unterbrechung haben...in dieser zeit soll der computer ziehen und dann soll das bild verschwinden und ich kann wieder ziehen.,..usw.
  • Hello again....

    Leute leider ist mein Problem doch noch nich behoben...ich habe nun zwar die Sleep funktion eingebaut...und zwar so


    Quellcode

    1. void load()
    2. {
    3. pictureBox32->Visible = true;
    4. label7->Visible = true;
    5. Sleep(1000);
    6. pictureBox32->Visible = false;
    7. label7->Visible = false;
    8. }


    ...und meine computer zieht funktion sieht so aus:

    Quellcode

    1. void ComputerZieht( )
    2. {
    3. if(anzahl>0)
    4. {
    5. int ziehe;
    6. verstecke();
    7. load();
    8. ziehe = (rand()%2+1);
    9. if(anzahl==6)
    10. ziehe=1;
    11. label2->Text = Convert::ToString(anzahl);
    12. if(anzahl==5)
    13. ziehe=1;
    14. label2->Text = Convert::ToString(anzahl);
    15. if(anzahl==4)
    16. ziehe=3;
    17. label2->Text = Convert::ToString(anzahl);
    18. if(anzahl==3)
    19. ziehe=2;
    20. label2->Text = Convert::ToString(anzahl);
    21. if(anzahl==2)
    22. ziehe=1;
    23. label2->Text = Convert::ToString(anzahl);
    24. if(ziehe==1)
    25. anzahl--;
    26. label2->Text = Convert::ToString(anzahl);
    27. if(ziehe==2)
    28. anzahl=anzahl-2;
    29. label2->Text = Convert::ToString(anzahl);
    30. if(ziehe==3)
    31. anzahl=anzahl-3;
    32. label2->Text = Convert::ToString(anzahl);
    33. if(anzahl<=0)
    34. {
    35. MessageBox::Show("Herlzlichen Glückwunsch, Du hast gewonnen!!!:-)");
    36. gewonnen=gewonnen++;
    37. label4->Text = Convert::ToString(gewonnen);
    38. }
    39. HoelzchenDarstellen( anzahl );
    40. zeige();
    41. }
    42. }
    Alles anzeigen


    so eigentlich müsste es so gehen nur...wartet der computer jetzt 2 sekunden bis er zieht nur das bild wird in den 2 sekunden trotzdem nicht angezeigt, sondern nur danach wieder für einen augenschlag (fast nicht zu erkennen) warum ist das so????

    ich verstehs echt nich und brauche dringend hilfe......bitte