Countdown met database
Ik ben bezig met het creeeren van een game, en ik wil dat bijv. mensen iets bouwen en dat het zoveel uur duurt voordat diegene nog iets kan bouwen. Weet iemand hoe ik dat kan doen, met een database?
gewoon tijd begin tijd toevoegen in je database.. en door middel van een mySql query tijd van nu aftrekken van tijd van toen..
Maar, je kan als de gebruiker een gebouw maakt alvast berekenen hoelaat het gebouw klaar is. Dan kijk je gewoon steeds als die tijd is verstreken.
Nu in normaal nederlands....
Als een gebruiker een gebouw maakt dat 2u duurt, dan tel je die 2u op met de normale tijd; deze uitkomst reken je om in secondes.
Als de gebruiker dan weer een gebouw wilt bouwen kijk je als de tijd al is verstreken, zo ja dan mag de gebruiker bouwen zo nee dat mag hij dat niet
Carlo theunissen op 17/10/2010 20:36:56:
Is het niet zo'n website dat je een dorp moet bouwen en dat je dan gebouwen moet uitbreiden :P?
Maar, je kan als de gebruiker een gebouw maakt alvast berekenen hoelaat het gebouw klaar is. Dan kijk je gewoon steeds als die tijd is verstreken.
Nu in normaal nederlands....
Als een gebruiker een gebouw maakt dat 2u duurt, dan tel je die 2u op met de normale tijd; deze uitkomst reken je om in secondes.
Als de gebruiker dan weer een gebouw wilt bouwen kijk je als de tijd al is verstreken, zo ja dan mag de gebruiker bouwen zo nee dat mag hij dat niet
Maar, je kan als de gebruiker een gebouw maakt alvast berekenen hoelaat het gebouw klaar is. Dan kijk je gewoon steeds als die tijd is verstreken.
Nu in normaal nederlands....
Als een gebruiker een gebouw maakt dat 2u duurt, dan tel je die 2u op met de normale tijd; deze uitkomst reken je om in secondes.
Als de gebruiker dan weer een gebouw wilt bouwen kijk je als de tijd al is verstreken, zo ja dan mag de gebruiker bouwen zo nee dat mag hij dat niet
Aanvulling, door de gemaakte tijd op te slaan in je database
hoe kan ik optellen met de tijd in php? Daar kom ik niet echt uit
check date()
ik ben ook met een browser based game bezig en ik doe berekeningen qua tijd altijd met timestamps.
En hoe dat je dat ongeveer??
Je maakt 2 velden aan in je database: bouwtijd en wachttijd.
In je script pak je de bouwtijd, die doe je min de tijd dat het nu is (time()), en daar tel je de wachttijd bij op.
Voorbeeld:
Bouwtijd: 600
Nu:900
Wachttijd:500
dan doe je dus 600 - 900 = -300
-300 + 500 = 200.
De persoon moet dan dus nog 200 seconden wachten. in scriptvorm:
$wachttijd = $database['bouwtijd'] = time() + $database ['wachttijd'];
Dan kun je door middel van een ifje checken hoe groot $wachttijd is, en dan kun je in die if zeggen wanneer ze kunnen bouwen en wanneer niet. Succes! :)
hartstikke bedankt ;)
Zie de datum tijd functies!!