Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odejmowanie w zmiennoprzecinkowych z bazy
Forum PHP.pl > Forum > Po stronie przeglądarki
nakers2
zrobiłem sobie do walki w grze "szczęście"
czyli prawdopodobieństwo ciosu krytycznego w walce

mam tak ze startowo jest 100/100 tego że się nie uda trafić ciosu krytycznego
i z kazdym punktem gdy gracz doda w panelu do szczescia odejmuje... no i wlasnie, na razie mam że o 1 odejmuje od tych 100 co jest domyślnie w rekordzie "wsp_szczescia:

Kod
$player['wsp_szczescia']--;
mysql_query("update endless_gracze set wsp_szczescia = ".$player['wsp_szczescia']." where id = ".$player['id']);


... ale to jest za dużo
chce żeby odejmowało o 0,3 od tych 100 domyślnych, da się coś takiego zrobić?
robal94
można zrobić dodatkowe pole w bazie np o nazwie minus, gdzie będzie ilość odejmowań. Ody odczytasz z bazy wystarczy wtedy napisać
$Player["szczescie"] = $Player["szczescie"] - minus*0.3;
i wszystko będzie działało
nakers2
no tak ale jak wtedy w walce zrobić by obliczało szanse w trybie zmiennoprzecinkowym ?

na razie mam tak:

Kod
$szczGracz = mt_rand(1,100);
if (($szczGracz >= $player['wsp_szczescia']) && ($szczGracz <= 100)) {
robal94
a nie można zrobić wart początkowego szczęścia 1000 a obniżanie szczęścia o 3?
Po prostu pomnożyć wszystko o 10
a jeśli chcesz to wyświetlić to wtedy podzielisz po 10.

Co ty na to?
nakers2

dostajesz ode mnie piwo (niestety tylko wirtualne ^^)

ale gdy to już mam nie wiem jak w walce zamienić:

Kod
$szczGracz = mt_rand(1,100);
if (($szczGracz >= $player['wsp_szczescia']) && ($szczGracz <= 100)) {


w ten sposób będzie dobrze?


Kod
$szczGracz = mt_rand(1,1000/10);
if (($szczGracz >= $player['wsp_szczescia']/10) && ($szczGracz <= 1000/10)) {

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.