Joc pe browser
Last Updated: Aug 17 2009 10:50, Started by
alex2300
, Aug 14 2009 11:52
·
0
#1
Posted 14 August 2009 - 11:52
M-am apucat sa fac un joc pe browser in PHP/MySQL dar am cateva intrebari:
1. Cum fac ca resursele sa creasca automat in baza de date? si 2. Cum fac ca atunci cand extrage datele din baza de date sa extraga nu in ordinea cronologica ci in ordinea scorului? |
#2
Posted 14 August 2009 - 11:55
1. reursele le inmultesti in functie de timp, dupa bunul plac
2. arunca un ochi pe functia sql ORDER BY |
#3
Posted 14 August 2009 - 12:24
vali38, on 14th August 2009, 12:55, said: 1. reursele le inmultesti in functie de timp, dupa bunul plac 2. arunca un ochi pe functia sql ORDER BY A doua chestie o sa testez. Dar la 1 tot nu stiu, cum fac sa se in inmulteasca? Eu as putea sa le fac sa se inmulteasca doar daca acceseaza o pagina. As vrea sa se inmulteasca singure. Edit: Am reusit la punctul 2. Multumesc Edited by alex2300, 14 August 2009 - 12:50. |
#5
Posted 14 August 2009 - 18:18
cred ca e ceva mai complicat sa lucreze cu cron. poate retine ultima data si ora la care useru a intrat si facand o diferenta intre data si ora inregistrata si data si ora curenta impartita la ... eu stiu... scoti un procent sau orice altceva din ce a rezultat la fiecare minut... sau... nu stiu... de aici trebuie sa te descurci singur. ai primit doua idei foarte bune
|
#6
Posted 14 August 2009 - 20:25
Daca ai un numar de 5-10 jucatori consecutivi este ok cu "on demand resources", adica procesezi atunci cand ti se cer datele, in schimb, cand numarul de utilizatori ce joaca in acelasi timp creste, inevitabil intervin interogari multiple ce pot da erori grave.
Cea mai buna solutie este un cron sau un script ce ruleaza constant, cu un delay de 1,5,10,15 secunde (cat consideri ca este ok). |
#7
Posted 15 August 2009 - 10:45
cron-ul nu merge cu intervale mai mici de 1 minut din modul in care a fost gandit (are un sleep intern de 1 minut). la task manager-ul din windows nu stiu care e intervalul minim. Cel mai bine s-ar preta aici un thread (ca in java) .. dar din pacate nu exista asa ceva in php sau cel putin eu nu stiu sa existe.
|
#8
Posted 15 August 2009 - 16:00
Am reusit cu cron. Momentan am pus intervalul de 1 minut ca altfel nu se poate. O sa incerc in continuare sa vad ce mai pot face. Dar, daca rulez urmatorul script in cron, imi creste materialul cu 1. Problema este ca atunci cand cineva se inregistreaza, se ia totul de la 0(fiecare user are 0 materiale). Am folosit in php:
<?php require_once('config.php'); $cerereSQL = "SELECT * FROM `utilizatori`"; $rezultat = mysql_query($cerereSQL); while($rand = mysql_fetch_array($rezultat)) { $rand['material']=$rand['material']+1; $cerereSQL = "UPDATE `utilizatori` SET material='".addentities($rand['material'])."' "; mysql_query($cerereSQL); } ?> E ceva gresit? Mie mi se parea normal sa functioneze cum trebuie. |
#9
Posted 15 August 2009 - 16:28
La update la care utilizator pui noua cantitate de materiale?
Cat de eficient e sa ai atatea update'uri o sa ne spui tu cand creste numarul de utilizatori. Edited by dani.user, 15 August 2009 - 16:30. |
#10
Posted 15 August 2009 - 16:45
|
#12
Posted 15 August 2009 - 17:40
dani.user, on 15th August 2009, 17:54, said: Pui default value 1 la material in db. Nu cred ca intelegi. Nu vreau ca la inceput fiecare user sa aiba 1 material. Vreau ca scriptul ala in php prezentat mai sus sa ruleze prin cron o data pe minut. Si in loc sa adauge la fiecare user in parte cate o unitate, se resteaza numarul de unitati la valoarea cea mai mica a unui user si aduga 1 material. Problema cred ca este in cod. |
#13
Posted 17 August 2009 - 10:11
Am reusit. Acum calculez cat lemn trebuie adugat la fiecare logare.
Dar acum vreau sa nu mai apara lemnul(de exemplu): 10.474444444 As vrea sa apra numai 10. Cu virgula apare cand vreau sa bage 1 unitate la 5 secunde(de exemplu). Cum as putea sa elimin ce e dupa virgula? Adica sa afiseze numai intregul? |
#14
Posted 17 August 2009 - 10:27
ceil/floor sau round. desi in cazul tau cred ca ar merge floor().
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users