Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przedziały cyfr od-do
Forum PHP.pl > Forum > Przedszkole
aroox
Witam!
Nie miałem lepszego pomysłu na nazwę tego tematu, dlatego nazywa się tak jak się nazywa.
Mam problem z pewnym fragmentem kodu. Jestem w trakcie tworzenia gry via www, a problem na którym się zatrzymałem pojawił się w momencie tworzenia skryptu areny. Potrzebuję zrobić podział na areny - przykładowo gracze od leveli 1-9 walczą między sobą, a po awansie gracza na poziom 11 przerzucany jest on na arenę na której ścierają się gracze o levelach 10-19 itd. Obie areny nie mogą nawzajem się widzieć, a gracze walczą pomiędzy sobą tylko na arenie adekwatnej do swojego poziomu. Napisałem fragment kodu, który wygląda następująco:
  1. <?php if ($player->level < 10) echo 'Arena 1 (level 1-9)';
  2. elseif ($player->level < 20) echo 'Arena 2 (level 10-19)'?>

Jednakże w tym przypadku znak "<" mówi sam za siebie, że gracz, który ma lvl mniejszy niż 10 i 20 walczy na tej arenie i w efekcie czego zarówno gracz, który posiada 1 lvl jak i ten, który ma 19 lvl widzą się wzajemnie i mogą się również nawzajem atakować, a nie o taki efekt mi chodziło.
W związku z tym ponawiam swoje pytanie - jak zrobić przedziały arenowe dzięki którym widzieć się będą jedynie gracze o levelach narzuconych w kodzie, a nie wszyscy razem?
Z góry dziękuję za pomoc smile.gif
com
w pseudokodzie gracz większy od 10 mniejszy od 20 - Arena 2 wink.gif
SmokAnalog
Jeśli nie programujesz jeszcze obiektowo, to stwórz sobie najlepiej taką uniwersalną funkcję:
  1. function getArenaByLevel($level) {
  2. if($level <= 10)
  3. return 1;
  4. if($level <= 20)
  5. return 2;
  6. // itd.
  7. }


Chyba, że zawsze ma być co 10, to możesz to uprościć:
  1. function getArenaByLevel($level) {
  2. return ceil($level / 10);
  3. }
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.