Hra v MEAN.js, dotaz na postup – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hra v MEAN.js, dotaz na postup – JavaScript, AJAX, jQuery – Fórum – Programujte.comHra v MEAN.js, dotaz na postup – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Mousby
~ Anonymní uživatel
1 příspěvek
16. 8. 2015   #1
-
0
-

Zdravím,

mám takovej spíš obecnější dotaz, jak postupovat. Představte si hru, ve které vám naskakují v čase suroviny (podle produkce budov) a hráči mohou v aukci obchodovat s předměty. Jak se tyto "časově" závislé věci řeší? Aktualizuje se nějaký "seznam" při každém kliknutí uživatele (při kliku zkontrolovat a přepočítat suroviny, zkotrolovat aukce - již skončené, probíhající atd.) nebo se to řeší jinak?

Děkuji za rady a nápady. 

Nahlásit jako SPAM
IP: 88.103.252.–
peter
~ Anonymní uživatel
4016 příspěvků
1. 9. 2015   #2
-
0
-

Podobne funguje hra rd2.cz. Ale uz tak 10 let jsem to nehral.

Prehled trhu zobrazi na pozadani. zobrazuje vzdy seznam zbozi s nejnizsi nabidkou nahore.
Vyplinis pocet kusu a on to nakoupi za nejnizsi novou aktualni nabidku v dobe odeslani nakupu.
Coz neni moc dobre, protoze by clovek potrebovat omezit i velikost ceny, coz rd2 nema.
A podobne je taky resene auto-dokupovani pri kliknuti na dalsi tah. Coz je neprijemne, ze treba koupi suroviny, ktere aktualne uz stoji mnohem draz a penize ti dojdou, nekoupis pocet kusu, co potrebujes. Vysledkem pak je, ze lid hladovi, umira, protoze tah se provede a prepoctou nove hodnoty.

Ted je tedy jeste otazkou, co dal casoveho chces jeste resit?
U webu jsou dve moznosti komunikace. Chat zpusob, Guestbook zpusob. Chat, to mas klasicke psani ala fb, sam si stahuje data po urcitem intervalu a prida ti novou zpravu, clanek a pod. Guestbook, to mas jako navstevni kniha, ta se obnobvi jen kdyz uzivatel znovu nacte stranku.
A co se tyce prepocitavani, tak tam je to dane preci vzorcem a rozdilem ulozeneho datumu od poslaneho datumu provedeni operace. Ledaze bys to chtel uplne precizne, ze treba behem te doby nekdo zautoci a pobije ti lid, tak bys musel pouzit cyklus a propocitat casy a suroviny pro jednotlive udalosti. Pr:

cas, udalost, pocet lidi
0, vychozi stav, 100
5, utok nepritele, -10
7, kliknuti uzivatele, dalsi tah

t = cas[0] = 0
l = lidi[0] = 100
-- cyklus (udalosti) --

// pro vsechny typy udalosti - prirustek k aktualnimu rozdilu casu
t = cas - t
l = l + spocitejlidi(t) // rekneme, ze se narodi +5 lidi, cili 105

typ == utok
l = l - 10 zabitych // 105 - 10 je 95

Rd2 to treba resilo tak, ze se hodnoty meni kliknuti na dalsi tah. Utoky se prepocitavali az o pulnoci (resp. 2 hodin v noci, pac o pulnoci spousta lidi jeste hrala) na posledni hracuv tah toho dne. Tudiz se prubezne ztraty neresili, coz odlehcuje naroky na zatez serveru.
Soucasne se o pulnoci generovali statistiky zmen za cely den. Hraci radi porovnavaji sve uspechy vuci souperum :)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:9ca9:86...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý