Kezdőoldal » Számítástechnika » Weblapkészítés » Ezt hogyan lehetne megvalósítani?

Ezt hogyan lehetne megvalósítani?

Figyelt kérdés

Szóval, egy szerencsejátékos oldalt akarok csinálni egy játékhoz. Nem fogom nyilvánosra rakni csak hobby-ból, lehet hülyén hangzik :D .

Szóval ha én írok egy php-t ami random számot csinál 0-14ig, az akkor fut le ha belépek az oldalra, minden más kliensnek más számot dob.

Hogyan lehetne ezt kiküszöbölni???


A segítséget előre is köszönöm.



2017. márc. 24. 16:50
 1/10 anonim ***** válasza:
Generálsz egy random számot mondjuk egy kör elején, elmented valahova, és a többieknek azt iratod ki.
2017. márc. 24. 16:59
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
ez nem jó sajna, azért mert akkor egy felhasználónak kéne lenni mindíg online, úgy kéne emgcsinálni hogy egy mésik szerverről az outputotot behozni
2017. márc. 24. 23:32
 3/10 anonim ***** válasza:
89%

2 dolgot tudok javasolni.


Sorsorláskor kimented az eredményt, mondjuk txt-be v adatbázisba és mindenkinek azt jeleníted meg.


V készítesz internet alapján seed-el rendelkező randomot és sorsoláskor módosítod ezt. Első randomra mindenkinek ugyanazt a számot fogja generálni.

2017. márc. 25. 07:56
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:

Nehogymár az akkora rohadt nagy probléma legyen, hogy letárolj szerver oldalon egy nyamvadt számot...

Se txt, se adatbázis nem kell hozzá.

Bőven elég egy singleton pattern hozzá pl, ha már szépen akarod csinálni.

2017. márc. 25. 08:31
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

De ez sehogy se akar összejönni.

Mert figyeljetek, ha valaki felmegy az oldalra, ugye akkor lefut a php kód:

$saltSET = '0123456789abcdef';

$length = strlen($saltSET);

$salt = '';

$saltLength = mt_rand(8,12);


for ($i = 0; $i < $saltLength; $i++) {

$salt .= $saltSET[mt_rand(0, $saltLength - 1)];

}


$number = mt_rand(0,14);

$hash = md5($salt.$number);

$file = fopen("test.txt","w");

fwrite($file,"$number \r\n"."$hash \r\n"."$salt");

fclose($file);


ez így jó is lenne valahogy késleltetném amig belehet rakni a beteket és ha lejár az idő beolvassa innen. de az a baj, ha feljön valaki az oldalra akkor ez újraíródik, és más lesz a szám. Szóval valami olyanra gondoltam(elképzelés):

van még egy szerver ami frissíti magát annyi időnként amennyit megadok neki és az csinál egy ilyen számot majd azt egy változóba lementi vagy fájlba ls beolvassa a főoldal.

+Hogyan tudnám azt megcsinálni, hogy késleltetem?

Mert ha beraknék egy js késleltetést ugye az lefut ha belépsz és akkor nem lesz real-time az oldal.


A válaszokat nagyon megköszönném!

2017. márc. 25. 09:37
 6/10 anonim ***** válasza:
Még egy szerver egy számot legenerálni?????
2017. márc. 25. 10:15
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
Kész vagyok, feladom.
2017. márc. 25. 10:15
Hasznos számodra ez a válasz?
 8/10 Argloss ***** válasza:

Elmented a számot és egy tetszőleges időpontot. Ha megnyitáskor még korábbi időpont van a kód nem fut le, ha igen, akkor generálódik az új szám és dátum. (pl.: A szám random, a dátum meg mai dátum + 10 nap.)

A szerverek szoktak tudni időzítetten futtatni dolgokat. Nézz utána a CRON-nak.

2017. márc. 25. 11:02
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:

Tárold le az ip címet. ha még nem járt fent az oldalon, akkor a te általad generált számot olvassa be (mysql vagy valami sqlite motor kellene inkább). Használhatsz munkamenetet is (session).

Ha meg már járt fent akkor új számot dobsz amig.

stb

2017. ápr. 1. 14:27
Hasznos számodra ez a válasz?
 10/10 A kérdező kommentje:
már megcsináltam, köszi a tényleg értelmes válaszokat.
2017. ápr. 1. 18:09

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!