Wątek przeniesiony 2017-06-23 12:25 z PHP przez Patryk27.

W jaki sposób zrobić tury używając pętli while?

0

witam, mam pytanie w jaki sposób mogę Zrobić tury uzywając np whilea?
obecnie mysle ze tak, ale pewnie to jest zle.

$przeciwnik['predkosc'] = 50;
$gracz['predkosc'] = 100;
while($gracz['predkosc'] > $przeciwnik['predkosc']){
zrob cos
potem ruch drugiej osoby?
czyli $gracz['predkosc'] + $gracz['predkosc'] = $gracz['predkosc'];
}else 
while($przeciwnik['predkosc'] > $gracz['predkosc']){
zrob cos
potem ruch drugiej osoby?
czyli $przecwinik['predkosc'] + $przeciwnik['predkosc'] = $przeciwnik['predkosc'];
}

zle to zrobiłem? jeżeli tak to może mi ktoś powiedzieć dlaczego?
i mniej więcej powiedzieć błędy które popełniam dzięki z góry

0

Jaki jest cel tego kodu? Co rozumiesz poprzez "zrobić tury"?

0
Markuz napisał(a):

Jaki jest cel tego kodu? Co rozumiesz poprzez "zrobić tury"?

cel tego kodu ma być obliczanie
jezeli np ja sie ruszam wtedy +1 jest tura i dodaje +50 przeciwnikowi
jak juz przeciwnik ma wiecej punktow ode mnie wtedy sie rusza.

0

Obecny kod pomija jeżeli jest 2x większa liczba niż przeciwnika wtedy powinny być dwie rury dla gracza także pomija jeżeli liczby są takie same

0

Zrob to na ifach.poniewaz nikt Ci tu nie pomoże sama gimbaza a to co chcesz zrobić juz dla bardziej zaawansowanych życzę powodzenia

1

Jeśli chodzi o tury, to w PHP to ciężko będzie to zrobić na while, ponieważ jak masz żądanie HTTP to skrypcik PHP ci się wykona w ułamek sekundy i zwróci kod strony. I człowiek będzie miał "turę" już poza PHP, w swojej przeglądarce, i dopiero potem coś zrobi, że pójdzie kolejne żadanie HTTP do serwera i tak dalej (nie wiem co chcesz osiągnać dokładnie, ale wyobraziłem sobie grę przeglądarkową typu statki/szachy, gdzie nic ci się nie rusza, dopóki nie zatwierdzisz swojego ruchu).

Więc raczej byś musiał utrzymywać jakoś stan gry pomiędzy żadaniami (np. w sesji, bazie danych, whatever).

Jeśli w ogóle chodzi ci o tury takie w stylu "moja tura, ruszam się, potem ruch komputera, potem znowu ja się ruszam", bo w kodzie w którym wkleiłeś chyba co innego chcesz zrobić, tam nie widzę żadnych tur.

0
LukeJL napisał(a):

Jeśli chodzi o tury, to w PHP to ciężko będzie to zrobić na while, ponieważ jak masz żądanie HTTP to skrypcik PHP ci się wykona w ułamek sekundy i zwróci kod strony. I człowiek będzie miał "turę" już poza PHP, w swojej przeglądarce, i dopiero potem coś zrobi, że pójdzie kolejne żadanie HTTP do serwera i tak dalej (nie wiem co chcesz osiągnać dokładnie, ale wyobraziłem sobie grę przeglądarkową typu statki/szachy, gdzie nic ci się nie rusza, dopóki nie zatwierdzisz swojego ruchu).

Więc raczej byś musiał utrzymywać jakoś stan gry pomiędzy żadaniami (np. w sesji, bazie danych, whatever).

Jeśli w ogóle chodzi ci o tury takie w stylu "moja tura, ruszam się, potem ruch komputera, potem znowu ja się ruszam", bo w kodzie w którym wkleiłeś chyba co innego chcesz zrobić, tam nie widzę żadnych tur.

siema, dzieki za odpowiedz! chodzi mi także o tury ale troche inne tu gracz posiada własną predkość ruchu
np gracz 1 posiada 50 predkości
przeciwnik posiada 100 predkosci
więc w pierwszej turze wiadomo rusza sie przeciwnik i ma tak jakby 2 tury które może wykonać po wykonaniu gracz wykonuje ruch pozniej znowu przeciwnik sie rusza 2 ponieważ ma 2x większą predkość

obecnie mój kod nie działa poprawnie ponieważ wykonuje tylko jeden ruch nawet wtedy kiedy ma duzą przewage i powinnien ich wykonać kilka

1 użytkowników online, w tym zalogowanych: 0, gości: 1