|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2003
Città: Varese
Messaggi: 351
|
[C++][NIUBBO] Programma per misurare tempi
Salve a tutti, sono uno studente di C++ alle prime armi e so che qui dentro ci sono delle menti pensanti
![]() Dovrei creare un programma che dopo 2 minuti dall'avvio del "gioco" (un gioco stupido, tipo indovinare il numero uscito da un lancio di un dado) si interrompa, dicendo ad esempio "Tempo scaduto". Naturalmente lavoro sotto console (niente oggetti please). Ho trovato la funzione clock(), che mi può misurare il tempo, ma non so come interrompere il programma dopo 2 minuti. Ringrazio tutti coloro che mi aiuteranno ![]() |
![]() |
![]() |
![]() |
#2 |
Registered User
Iscritto dal: Apr 2004
Messaggi: 75
|
è una stupidata
#include <time.h> #include <stdio.h> mi sembra anche #include <sdtlib.h> se è da console prendi i secondi in un unsigned con time(NULL),poi il giochetto lo metti dentro un loop che controlla (con time(NULL)) se sono passati 2 minuti * 60 secondi = 120 secondi,cioè vedi se time(NULL) > vecchio valore che avevi preso + 120 fai exit(0) quando sono passati,ed il programma termina,ciaoz |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2003
Città: Varese
Messaggi: 351
|
mhh..una roba del genere?
do giochetto while ((unsigned)time(NULL)<120) Non ho ben capito, sono molto niubbo ![]() Puoi farmi un esempio? Ti ringrazio |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Tipo:
Codice:
unsigned int start = (unsigned)time(NULL); do { giochetto unsigned int elapsed = start - (unsigned)time(NULL); if(elapsed >120) { cout << "tempo scaduto" << endl; break; } } while(....); Ovviamente questo è il modo più semplice per realizzare questa cosa... |
![]() |
![]() |
![]() |
#5 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Codice:
unsigned int elapsed = (unsigned)time(NULL) - start; if (elapsed>120)
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jun 2003
Città: Varese
Messaggi: 351
|
Esatto..così l'avevo fatto anche io...Ma essendo il gioco abbastanza lungo dovrei inserirlo un sacco di volte...
Beh, vorrà dire che mi farò una funzione da richiamare a ogni input ![]() Gracias ![]() Ultima modifica di Rhapsodyan [ITA] : 26-12-2004 alle 12:00. |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Quote:
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jun 2003
Città: Varese
Messaggi: 351
|
OTTIMO, funziona!
Un po' di casino coi parametri perchè l'ho suddiviso molto in funzioni...ma alla fine ce l'ho fatta ![]() |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() Comunque quello è il metodo più semplice... Altrimenti potresti ricorrere alle API di Windows (sempre che tu stia programmando su Windows) e settare un timer... |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 673
|
Quote:
Grazie in anticipo!!! |
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:22.