• 1
  • 2
2022-07-05, 20:31
  #1
Medlem
hej
mitt program bestr av 5st while loopar (lser sommarkurs i c++ som inte krver att man anvnder funktioner osv)

jag vill att mitt program avslutas efter sg 5 minuter. och att man d kommer tillbaks i min frsta while loop dr man kan starta en ny omgng/nytt spel. hur uppnr jag detta? jag vill allts typ gra en till while loop (antar jag? eller ngot annat som alltid ligger i bakgrunden och checkar tiden) som sger att nr spelet varit igng i 5 min ska det stngas av. ett annat alternativ r att spelet ska sttas i "sleep" mellan 02-06 och sedan brjas om. men hittar typ ingen information p ntet om detta.
Citera
2022-07-05, 20:36
  #2
Medlem
SvenHelsings avatar
Citat:
Ursprungligen postat av DrillBitTTT
men hittar typ ingen information p ntet om detta.
Jas?

"c++ exit after time"

https://stackoverflow.com/questions/...amount-of-time

vilken lnkar vidare till

https://stackoverflow.com/questions/...-c-with-chrono
https://stackoverflow.com/questions/...e-of-30ms-in-c
__________________
Senast redigerad av SvenHelsing 2022-07-05 kl. 20:40.
Citera
2022-07-05, 20:37
  #3
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av DrillBitTTT
hej
mitt program bestr av 5st while loopar (lser sommarkurs i c++ som inte krver att man anvnder funktioner osv)

jag vill att mitt program avslutas efter sg 5 minuter. och att man d kommer tillbaks i min frsta while loop dr man kan starta en ny omgng/nytt spel. hur uppnr jag detta? jag vill allts typ gra en till while loop (antar jag? eller ngot annat som alltid ligger i bakgrunden och checkar tiden) som sger att nr spelet varit igng i 5 min ska det stngas av. ett annat alternativ r att spelet ska sttas i "sleep" mellan 02-06 och sedan brjas om. men hittar typ ingen information p ntet om detta.

Du kan anvnda time() fr att lsa av klockan. Om du sparar en starttid i brjan av den yttersta while-loopen s kan du, i den av de inre while-looparna som det r relevant, berkna en differens mellan nutid och starttiden. Om differensen r mer n 5 minuter s kan du avbryta den while-loop som du r i och tervnda till den yttersta while-loopen.
Citera
2022-07-05, 21:42
  #4
Medlem
Citat:
Ursprungligen postat av SvenHelsing
Jas?

"c++ exit after time"

https://stackoverflow.com/questions/...amount-of-time

vilken lnkar vidare till

https://stackoverflow.com/questions/...-c-with-chrono
https://stackoverflow.com/questions/...e-of-30ms-in-c
jag har testat lite men fr det inte att fungera
jag vill ha en while loop som stnger spelet under den tiden och som sedan lter en ta ut alla pengar man spenderat. som nr tiden r slut kastar spelaren till frsta steget, s att ett nytt spel kan brja
Citera
2022-07-05, 21:43
  #5
Medlem
Citat:
Ursprungligen postat av Enterprise
Du kan anvnda time() fr att lsa av klockan. Om du sparar en starttid i brjan av den yttersta while-loopen s kan du, i den av de inre while-looparna som det r relevant, berkna en differens mellan nutid och starttiden. Om differensen r mer n 5 minuter s kan du avbryta den while-loop som du r i och tervnda till den yttersta while-loopen.
har testat lite men fr inte till det. den klagar p min variabel men fattar inte varfr
Citera
2022-07-05, 21:44
  #6
Medlem
SvenHelsings avatar
Citat:
Ursprungligen postat av DrillBitTTT
jag har testat lite men fr det inte att fungera
jag vill ha en while loop som stnger spelet under den tiden och som sedan lter en ta ut alla pengar man spenderat. som nr tiden r slut kastar spelaren till frsta steget, s att ett nytt spel kan brja
Happ, ja det r ju inte s ltt att hjlpa dig om du inte postar koden och berttar hur det blir fel.
Citera
2022-07-05, 21:48
  #7
Medlem
Citat:
Ursprungligen postat av SvenHelsing
Happ, ja det r ju inte s ltt att hjlpa dig om du inte postar koden och berttar hur det blir fel.
kan inte det d det r en skoluppgift. den klagar p min variabeL;

timeStart = clock();
att jag inte deklarerat den frst och frmst
Citera
2022-07-05, 21:48
  #8
Medlem
SvenHelsings avatar
Citat:
Ursprungligen postat av DrillBitTTT
kan inte det d det r en skoluppgift.
Vad synd. Lycka till.
Citera
2022-07-05, 21:49
  #9
Medlem
Citat:
Ursprungligen postat av SvenHelsing
Vad synd. Lycka till.
tack fr hjlpen, why bother isnnafall
Citera
2022-07-05, 21:53
  #10
Medlem
SvenHelsings avatar
Citat:
Ursprungligen postat av DrillBitTTT
tack fr hjlpen, why bother isnnafall
Jag r beredd att hjlpa dig. Det r du som inte vill ge vad jag behver fr att hjlpa dig.

Fr vrigt borde ju lsningen p att en variabel r odeklarerad vara tmligen uppenbar. Deklarera variabeln. Eller?
__________________
Senast redigerad av SvenHelsing 2022-07-05 kl. 21:55.
Citera
2022-07-05, 22:02
  #11
Medlem
Citat:
Ursprungligen postat av SvenHelsing
Jag r beredd att hjlpa dig. Det r du som inte vill ge vad jag behver fr att hjlpa dig.

Fr vrigt borde ju lsningen p att en variabel r odeklarerad vara tmligen uppenbar. Deklarera variabeln. Eller?
om man kan c++, s ja antagligen. men har lst det

time_t now;
struct tm nowLocal;
now=time(NULL); //get os time
nowLocal=*localtime(&now);
while (nowLocal.tm_hour>6){
cout<<"TIMEEEEEEEEE";
}
det hr funkar ju iallafall. men lr jag kolla vad klockan r under varje runda av spelet eller kommer den hela tiden veta vad klockan r om jag lgger de 4 frsta raderna ovanfr int main?
Citera
2022-07-05, 22:12
  #12
Medlem
SvenHelsings avatar
Citat:
Ursprungligen postat av DrillBitTTT
om man kan c++, s ja antagligen. men har lst det

time_t now;
struct tm nowLocal;
now=time(NULL); //get os time
nowLocal=*localtime(&now);
while (nowLocal.tm_hour>6){
cout<<"TIMEEEEEEEEE";
}
det hr funkar ju iallafall. men lr jag kolla vad klockan r under varje runda av spelet eller kommer den hela tiden veta vad klockan r om jag lgger de 4 frsta raderna ovanfr int main?
Vnligen posta kod i kod-taggar, s hr:

Kod:
	time_t now;
	struct tm nowLocal;
	now=time(NULL); //get os time
nowLocal=*localtime(&now);
 while (nowLocal.tm_hour>6){
 	cout<<"TIMEEEEEEEEE";
 }

Men se ocks till att koden r korrekt indenterad. Det r ocks generellt en stor frdel om du postar kod som r krbar, s att om du har ett problem s kan jag copy-pasta koden, kra den och se samma problem.

Med det sagt s kan du tmligen enkelt ta reda p svaret till din frga genom att helt enkelt printa vrdet p tidsvariabeln. Exempelvis med std::cout << nowLocal.tm_hour << "\n";
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in