Jump to content
php.lv forumi

Skaitīšana


hackerman

Recommended Posts

Failā raksti vērtības ko atgriež funkcija time().

Tad no otrās vērtības atņem pirmo un tas būs laiks sekundēs cik ir pavadijis spēlētājs.

Pēc tam ar funkciju date() izvadi vajadzīgajā formātā.

Ja vajag punktus piešķirt par minūtēm, $minutes=date("i",$pavaditais_laiks_sekundes); un tālāk jau piešķir tos punktus attiecīgi.

Edited by mounkuls
Link to comment
Share on other sites

Ok, tik tālu takā būtu, paldies!

Bet, ja jau iesākāt mani ar karotīti barot, tad varbūt var palūgt kādu labi saprotamu padomu tai manu iedomāto punktu piešķiršanas sistēmai?

par piemēru ņemot kaut vai šādus kritērijus:

 

10 min = 150 punkti

Link to comment
Share on other sites

Oi, vecīt, sanāca!Paldies!

Klau, bet es te sāku domāt, ja nu tas mūsu iedomātais spēlētājs spēlē pavada vairāk par 60 min, tad jau sanāk,ka šis atkal saņems tikai 150 pnk?

Mēģināju tam date() ielikt arī stundas un sekundes, bet tad sanāk, greizi, jo pie spēlē pavadītām 300 sec jau rāda stundas.

p.s. ceru,ka baigi nekrītu uz nerva ar saviem mācekļa jautājumiem?

Link to comment
Share on other sites

blackhalt, tu gadījumā neesi Māris Olte? :)

Tu man uzdod jautājumus, itkā mēģinātu pārbaudīt vai es esmu gudrāks par pietklasnieku. Tas,ka minūtē ir 60sec es zināju jau kādu brīdi pirms tu iešķiebi man trīs linkus ar ļoti labi uztveramiem piemēriem. :)

Es saprotu,ka tu mēģini man pamest domu, bet, sorry, tālāk par to arī netieku.

Link to comment
Share on other sites

Klau, bet es te sāku domāt, ja nu tas mūsu iedomātais spēlētājs spēlē pavada vairāk par 60 min, tad jau sanāk,ka šis atkal saņems tikai 150 pnk?

Arī fakts, vajag mazliet savādāk.

Tā kā ir jau aprēķināts laiks sekundēs cik laika pavadīts, nekas netraucē to izdalīt ar 60 un būs tās minūtes.

$pluspunkti=floor($laiks_sekundes/600)*150;

Vienkārši:)

Ar 600 daliju tāpēc, ka 10 minūtes vajag lai 150 punkti.

Edited by mounkuls
Link to comment
Share on other sites

nav vienkaarshaak tos punktus pa sekundeem dot?

ja tu 10 minuutees dod 150 punktus, tad sanaak 0.25 punkti par sekundi.

pienjemu ka skaita tikai vesalus pinktus, tad uzskaiti var saakt veikt no 4 sekundes.

tad tev nebuus jaakonvertee uz miniiteem un stundaam.

if ($pavadiitais_laiks > 3 )
{
$punkti = $pavadiitais_laiks / 4; //sheit dalaam ar 4 jo par 4 sekundeem viens punkts ...
//pierakstaam kkur ka lietotaajs serverii ir pavadiijis $pavadiitais_laiks sekundes un ieguvis $punkti punktus
}

Edited by Klez
Link to comment
Share on other sites

Jā, ir gan un to jau biju izdomājis, jo , ja liekam pa minūtēm, tad gadījumā,kad laiks ir, piem., 1,23 min, punkti par 23 sec netiek aprēķināti. Bet, takā spēlēs nereti ir svarīgas pat simtdaļu sekundes, tad jau punkti jāpiešķir sekundēm.

 

$uzskaite = "$starts"-"$finish";

$pnk=floor($uzskaite/1)*0.25;

$total +=$pnk;

 

Taisnība jau bija bleckhalt'am, nereti matemātikas zināšanu pamati jāatsvaidzina! :)

 

Bet tagad, kad apetīte parādījusies ēdot, sāku domāt, kā, lai uztaisa tādu štellīti, ka tiek piešķirts rezultāts starp dalībniekiem, t.i., Jānim 150 pnk, Kārlim 250 pnk, Andrim 350 pnk un tas ir, ka Jānim 1. spēles rezultāts, Kārlim 2., utt ?

Link to comment
Share on other sites

Kungi, vēršos atkārtoti ar lūgumu palīdzēt izveidot tādu kā reitinga aprēķināšanas scriptu.

Es vēlos noteikt, kurš no rezultātiem ir pirmais, otrais utt.

Piemēram, ja Jānis izspēlējis spēli ar spēles laiku 05:21, Māris 03:21, bet Kārlis spēli paveicis 04:21, tad Jānim ir trešais rezultāts, Mārim pirmais, Kārlim otrais.

Mēģināju izdomāt kaut ko ar max() un min() funkcijām, bet tas arī viss, neko vairāk izdomāt manas iesācēja smadzenes nespēj.

 

Paldies jau iepriekš!

Link to comment
Share on other sites

Es vēlos noteikt, kurš no rezultātiem ir pirmais, otrais utt.

Piemēram, ja Jānis izspēlējis spēli ar spēles laiku 05:21, Māris 03:21, bet Kārlis spēli paveicis 04:21, tad Jānim ir trešais rezultāts, Mārim pirmais, Kārlim otrais.

Atkariigs kaa ieraksti failaa tos datus.

Ja

 

Māris 03:21

Jānis 05:21

Kārlis 04:21

 

sort njems man liekas alfabetiskaa kaartiibaa, tad laikiem nav noziimes.

Tad kaa minimums vajag laikus pa priekshu un tad vaardus rakstiit rindinjaas.

Vel es ieteiktu tomeer laiku glabaat timestamp un tikai pie atraadiishanas to drukaat ar date() laukaa.

 

$pnk=floor($uzskaite/1)*0.25;

tieshaam nav jeegas jo dali veselu skaitli ar vienu un veel to noapaljo tikai peec tam reizinot ar vienu ceturtdalju, faktiski tas ir $uzskaite/4.

 

$pnk = ceil($uzskaite * 0.25);

hmm....

ceil apaljos arii 3,14 kaa 4.

tad jau jeedziigaak round. Tad vismaz tuvaak jeegai man liekas. /round apaljo vadoties no 0.5, ja mazaak aiz komata, uz leju. ja vairaak, uz augshu liidz veselam.

Link to comment
Share on other sites

×
×
  • Create New...