Jump to content
php.lv forumi

While.


daviskrex
 Share

Recommended Posts

Sveiki, aizgāja širmis domāju uztaisīt kaut kādu ļevo web spēli.

Spēle balstīta uz jūzeru enerģiju.

Mēģināju uztaisīt tās enerģijas automātisku reģenerācijas skriptu, bet netieku gudrs, kā lai izlabo šīs rindas.

$time = time();
$i = 0;
while($timelast < $time){
$timelast + $inteval;
$i++;
}
print $i;

Tas ir domāts tā - cik reizes intervāls ir nogaidīts, par kuru dod šo 1 enerģijas punktu, tik arī saskaita.

Bet lieta tāda, ka šajā procesā man izmet -

Fatal error: Maximum execution time of 30 seconds exceeded in C:\inetpub\wwwroot\game\profile.php on line 33

Būtu pateicīgs, ja kāds varētu dot padomu! :)

Jau iepriekš pateicos.

Edited by daviskrex
Link to comment
Share on other sites

Nevajag lietot while ciklu. Tīrākā matemātika - jālieto aritmētiskā progresijas formula.

$beigu_laiks = $sākuma_laiks + $skaits * $palielināmā_vērtība.

Tātad $skaits = ($beigu_laiks - $sākuma_laiks) / $palielināmā_vērtība.

 

Dots ir sākuma_laiks = $timelast. Cik vajag būt beigu_laiks = $time, palielināmā_vērtība - $inteval.

Tātad noapaļojot uz augšu: $i = (int)ceil(($time - $timelast) / $inteval).

 

Tev pie tam ir kļūda - while ciklā += vietā esi ierakstījis tikai + zīmi.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...