Jump to content
php.lv forumi

automātiska $x=$x+1


kristapuciits

Recommended Posts

kā to panākt, lai bez pārtraukuma katram lietotājam, piem., "dzīvības" krātos neatkarīgi no tā, vai lietotājs ir online vai nav? Paldies jau iepriekš! :)

 

Nu kā, glabā laiku kad lietotājs pēdējo reizi bijis. Kad ienāk atkārtoti, paskaties cik laiks ir pagājis un pieskaiti klāt dzīvībām tos punktus.

 

Piemēram, lietotājs ienāca lapā, kad laika atzīme bija 10 sekundes, viņam bija 100 punkti dzīvības.

Lietotājs ienāk atkal. Paskatiamies, ka tagad laiks ir 30 sekundes. Izrēķinam pagājušo laiku: 30 - 10 = 20 sekundes.

Mēs zinam, ka, teiksim, 5 sekundēs pienāk 1 punkts pie dzīvībām. Izrēkinam, cik 20 sekundēs pienāk punkti: 20 / 5 = 4

Pieskaitam vacjiem punktiem: 100 + 4 = 104.

Saglabājam datubāzē punktus (104) un saglabājam pēdējo pašreizējās sekundes (30)

 

Ar sekundēm domāju unix timestampu...

 

Lapā izmanto JS kaunterīti, kas itkā smuki skaita tās dzīvības reālā laikā, bet patiesībā nekas neskaitās :)

 

 

EDIT: protams, ja kādam citam lietotājam arī interesē tie punkti, tad viņi būtu jāpārrēķina. (Nevis tikai tad, kad konkrētais lietotājs dara kaut ko)

 

EDIT2: neesmu neko tādu taisījis, bet es iztēlojos, ka tā tas varētu notikt...

Edited by briedis
Link to comment
Share on other sites

glabā vērtību x un laiku t, kad x ir aprēķināts.

 

Kad kāds pieprasa šos datus, nolasi x un t un aprēķini jauno x, kā x2=x+C*dt, kur

C - cik dzīvības piaug vienā sekundē. Teiksim, ja tev vajag 30 sekundēs vienu dzīvību, tad šis skaitlis būs 0.033333

dt - starpība unix_timestamp()-t.

 

 

briedis, jau uzrakstīja.

Tik gribu palabot viņu, ka ja dati tiek tikai lasīti, tie nav jāpārglabā no jauna db. Tikai tad, kad notiek x atņemšana vai pieskaitīšana ārpus parastajai laika izmaiņai, tikai tad ir jāpārglabā dati.

Tas tā performaces dēļ, jo galu galā rakstīt datus ir 10x lēnāk kā lasīt.

Edited by codez
Link to comment
Share on other sites

#7, vispār jau ir gan, nu ne 100X varbūt, bet kādas 50 ātrāk būs stabili.

Lai gan tīri matemātiska saskaitīšana ASMā būs pat reizes 200 ātrāka.

Procesoram tikai pliki reģistri faktiski kopā jāsamet, bet lai ko ierakstītu HDD, zini cik visādu procdūru ir?

P.S. A pa ķeksi, briedis manuprāt uzrakstija labi kas un kā.

Edited by mounkuls
Link to comment
Share on other sites

Var jau rūcīnāt šito būdu ar JS arī, bet lieks čakars manšķiet! bet reāli mickys, ja lietotājs iziet OFFLINE, viņš nespiež nevienu pogu, kā viņš var iedarbināt tā teikt to ciklu? :P

1.kārt - cikls ir mūžīgs.

2.kārt - palaižam skriptu caur komandrindu, lai viņš tur tup un visu laiku apdeito dzīvības.

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...
×
×
  • Create New...