Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP - pomoc s proměnými

Dobrý den, moc se v php nevyznám a tak bych vás chtěl poprosit o radu :
Mám hodně volného času a proto pracuji na primitivní online hře. Vím, že vám to může připadat směšné , ale to teď nechme stranou. Úspěšně jsem dokončil systém registrace a přihlašování, teď chci vytvořit proměnné (level a nějaké suroviny) které bude mít každý hráč, samozřejmě se budou vyvíjet s časem v závislosti na produkci (kromě levelu, ten si poté upravím).
Potřeboval bych tedy vědět, jak vytvořím proměnné pro každého hráče v závislosti na čase ? (v MySQL se mi při registraci vytvoří u hráče mimo jiné ID se kterým se to bude vázat)
Díky za rady
Adam

Předmět Autor Datum
Asi jsem nechápavý... Prostě je zapíšeš do databáze ne?
Wikan 08.02.2011 15:39
Wikan
no nevím jak udělat, aby ten hráč měl nějakou surovinu například a aby se její hodnota odvíjela podl…
adamr 08.02.2011 15:43
adamr
Např. v jedné tabulce definované suroviny, ve druhé množství které hráč drží, ve třetí hodnoty podle…
Wikan 08.02.2011 15:48
Wikan
Dobře, chci, aby měl hráč suroviny se kterými může hospodařit. Každý hráč je bude mít různé. Budou m…
adamr 08.02.2011 15:52
adamr
No obávám se, že tohle opravdu není rada na jeden příspěvek. Prakticky chceš udělat celou logiku apl…
Wikan 08.02.2011 15:56
Wikan
potřebuji pochopit, jak měnit proměnnou u každého hráče v závislosti na čase.
adamr 08.02.2011 15:59
adamr
Asi jsem opravdu natvrdlý, ale nerozumím ti. Napiš konkrétní scénář nějaké události. Tj. kdo, co, kd…
Wikan 08.02.2011 16:06
Wikan
fajn, uživatel bude mít , dejme tomu, 200 nějaké suroviny, zlata. za každou hodinu se mu zlato zvětš…
adamr 08.02.2011 16:11
adamr
No dobrá, a co z toho neumíš udělat? A nepiš že nic, protože to bysme se nikam nepohnuli.
Wikan 08.02.2011 16:13
Wikan
udělám proměnnou, která se uloží do databáze, neudělám už ale to, aby se ta proměnná měnila s časem.…
adamr 08.02.2011 16:16
adamr
Prostě chceš udělat něco jako travian/divoké kmeny/jánevimco. Já bych to udělal tak, že by se přepoč…
marekdrtic 08.02.2011 16:21
marekdrtic
díky, to je chytré, vlastně logické ;)
adamr 08.02.2011 16:24
adamr
A ještě jedna rada, když děláš velkej projekt, tak si namaluj diagram a veškerý kod kouskuj do co ne…
marekdrtic 08.02.2011 16:25
marekdrtic
díky, to je cenná rada, ve škole nás to taky učí (gymnázium, programování), hlavně pro tu editaci po…
adamr 08.02.2011 16:31
adamr
A já nedám pokoj :-). Určitě znáš rozdíl mezi algoritmem a programem. Program je pouze algoritmus in…
marekdrtic 08.02.2011 16:44
marekdrtic
díky :) nás ve škole učí pochopit jak daný algoritmus funguje, to jak ho zapsat a v čem už je potom… poslední
adamr 08.02.2011 16:50
adamr

Dobře, chci, aby měl hráč suroviny se kterými může hospodařit. Každý hráč je bude mít různé. Budou mít nějakou výchozí hodnotu x. Jejich změny budou závislé jednak na čase, druhak na tom, co s nimi hráč udělá. potřebuji zápis takové proměnné v php a taky co zapsat do databáze.

fajn, uživatel bude mít , dejme tomu, 200 nějaké suroviny, zlata. za každou hodinu se mu zlato zvětší o 100. bude ho takto produkovat. koupí si nějakou zbraň co stojí 300 zlata, pokud má dostatek zlata, tak se mu ta koupě provede a odečte, pokud nemá, vypíše mu to hlášku. to je celé.

Omlouvám se za špatný dotaz a cením si toho, že se mi snaží někdo pomoc.

Prostě chceš udělat něco jako travian/divoké kmeny/jánevimco. Já bych to udělal tak, že by se přepočet udělal při každém reloadu stránky. Do databáze by se uložil čas poslední změny (fce Time viz php.net) a pak je na to jednoduchej vzorec:

přibylo = (Time()_teď - Time()_bylo)*produkce za jednu sekundu

Jestli chceš, aby to uživateli naskakovalo bez reloadu, tak to uděláš jednoduše s použitím javascriptu. Jestli nevíš, jak udělat nic z toho, co jsem napsal, tak bych se bez potřebných znalostí do něčeho tak složitého nepouštěl.

A ještě jedna rada, když děláš velkej projekt, tak si namaluj diagram a veškerý kod kouskuj do co nejmenších úseků, udělej z nich funkce a používej je všude. Stálé proměnné definuj jako konstanty do zvláštního souboru (ne x=200*(250-120), ale třeba x=a*(b-c)) Protože jakmile to budeš mít napsaný všechno za sebou, bude to dlouhý jak hajzlpapír a jakmile budeš chtít něco změnit, tak to budeš muset udělat na 100 místech a zblázníš se z toho. A navíc to bude nepřehledné. Když jsem byl mladší a blbější, tak jsem takhle musel zahodit tříměsíční práci.

A já nedám pokoj :-).
Určitě znáš rozdíl mezi algoritmem a programem. Program je pouze algoritmus interpretovaný v nějakém programovacím jazyce. Proto bych ještě doporučil nad každým problémem zamyslet se víc matematicky a logicky. Strojový čas je i v dnešní době docela "drahá záležitost" (když je na web připojeno třeba tisíc uživatelů ) a čím delší kod, tím náchylnější k chybám. Když si napíšeš nějakej vzorec, tak ho zkus upravit do jednodušší formy, v případě složitějších věcí si najdi již ověřené hotové řešení na netu (na to se hodí fráze "do not re-invent the wheel" :-)) atd.

Zpět do poradny Odpovědět na původní otázku Nahoru