Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Countdown Timer

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
10.11.2004, 18:09 Uhr
Jan-Willem



DEUTSCH:
Wir sind 4 Studenten und benötigen für ein Projekt in VC++6 einen "Countdowntimer". Es ist ein Art von Computerspiel das wir entwickeln sollen. Seit zwei Tagen suchen wir schon nach eine Lösung, aber ohne Erfolg. Unsere Frage ist ob Sie uns eine Kode (nur Console, nicht graphical c++) geben können um einen "Countdowntimer" (Abzähluhr) zu entwickeln der einen bestimmten Vorgang beenden kann (zum Beispiel wenn mann gegen einen Computer spielt, dass der Gegenspieler nach einer bestimmten Zeit dran ist).

Wir hoffen dass Sie uns helfen können. Im Voraus schon vielen Dank von 4 Belgischen Studenten!

Jan-Willem


ENGLISH:
We have to make a project for school in VC++6, now we also have to use a countdown timer.

It’s a sort of a game we have to create. I’ve been looking 2 days now to create a countdown timer, but without success. My question to you is, can you please help us with a little code (just console, no graphical c++) to make a countdown timer that can stop a certain process (eg. When you play against the computer, you have 15seconds for your turn)



I hope you will help us, in advance many thanks from 4 belgian students!


Thank you in advance
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.11.2004, 18:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das dürfte in reinem Ansi-C vermutlich annähernd unmöglich sein, für sowas nimmt man normalerweise timer bzw threads und damit ist die sache OS abhängig...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.11.2004, 18:31 Uhr
Jan-Willem




Zitat von Windalf:
das dürfte in reinem Ansi-C vermutlich annähernd unmöglich sein, für sowas nimmt man normalerweise timer bzw threads und damit ist die sache OS abhängig...


Wir müssen es in Visual Studio 6 machen. Ich habe schon verschiedene Beispiele von Timer ausprobiert, leider ohne Erfolg. Würde jemanden ein Beispiel geben können von einem Countdowntimer in Visual Studio 6 für Windows? Vielen Dank!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.11.2004, 18:42 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


meinst du sowas?
www.fun-soft.de/showtopic.php?threadid=107
an sonsten wenn du nen thread haben willst gib mal in die forumssuche AfxBeginThread ein da gibt es auch noch beispiele...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.11.2004, 18:46 Uhr
derphilipder



Ich hab da mal was gebastelt, was sone Art Eieruhr sein sollte:

C++:

#include <iostream>
#include <ctime>
#include <conio.h>
#include <iomanip>
#include <string>
#include <sstream>
#include <windows.h>
using namespace std;

#define CLS system("cls")

inline int digits(int x)
{
    stringstream dig;
    string _dig;

    
    dig << x;

    dig >> _dig;

    
    return _dig.length();
}


int main(int argc, char* argv[])
{


    //string s(40, '\n');
    char c;
    //cout <<s;
do{CLS;
    long sek = 0, init;
    int n, h, m, s;
    
    
    cout << "Countdownzeit: \n\n" << "Stunden : ";
    cin >> h;
    cout << "Minuten : ";
    cin >> m;
    cout << "Sekunden: ";
    cin >> s;

    n = 3600*h + 60*m + s;



    cout <<"\n\nCountdown: " << setw(digits(n/3600)+9) << n ;

    
    time(&init);

    string space(digits(n/3600)+9, '\b');
    
    

    while(true)
    {
        Sleep(1000);
        long lok;
        time(&lok);

        if(lok > sek)
        {
            sek=lok;
        
            
            cout << space << setfill('0') << setw(digits(n/3600)) << (n - (sek - init))/3600 <<"h "
                << setw(2) << ((n - (sek - init))%3600)/60 << "m " << setw(2) << (n - (sek - init))%60 << 's' ;
        }    

        if(sek >= init + n) break;

        if(kbhit()) if((c=getch()) == 27) break;
    }
    
    if(c != 27)
    {
        cout << "\n\n\nDas Druecken einer Taste beendet diesen unangenehmen Ton!";
        for(int i = 0; i < 1000; i++)
        {
            cout<<"\a";
            if(kbhit()) break;
        }
    }

    for(;;){getch(); if(!kbhit())break;}

    cout << "\n\nEnde mit Escape, weiter mit bel. Taste\n\n";
    c = getch();

}while(c!=27);
    return 0;
}



Vielleicht könnt Ihr damit ja was anfangen...
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.11.2004, 18:52 Uhr
Pablo
Supertux
(Operator)



Zitat von derphilipder:
Ich hab da mal was gebastelt, was sone Art Eieruhr sein sollte:

C++:

#define CLS system("cls")




Vielleicht könnt Ihr damit ja was anfangen...


Verweis auf system is bad (das ist kein Scherz, sondern sollte man es wirklich lesen)
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.11.2004, 19:04 Uhr
Jan-Willem



Schon vielen Dank für euere Antworten. Das was derphilipder hat gesagt, ist so etwas was wir brauchen. Würde es auch möglich sein das während der Timer läuft das die Spieler des Games etwas eingeben können, aber das wenn z.B. die Spielzeit beendet ist eine Meldung auf dem Schirm erscheint das die Zeit vorüber ist und die Funktion automatisch stoppt, so dass der Spieler nichts mehr machen kann.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.11.2004, 19:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


da ihr unter Windows/WinAPI arbeitet sollte SetTimer(...) das richtige sein
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.11.2004, 20:51 Uhr
Jan-Willem



Gibt es vielleicht ein Beispiel von der Funktion SetTimer(), denn wir haben schon alles ausprobiert aber es klappt nicht.

Danke!

Jan-Willem
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
10.11.2004, 22:29 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


kommt halt drauf an wie euer code aussieht.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: