Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Shuffle i konstrukcja if.
Forum PHP.pl > Forum > Przedszkole
NephilimV
  1. <?php
  2. $obrazki = array('papier.jpg', 'nożyce.jpg', 'kamień.jpg');
  3. shuffle($obrazki);
  4. for ($i = 0; $i < 1; $i++)
  5. {
  6. echo '<td align="right"><img src="';
  7. echo $obrazki[$i];
  8. echo '"width="45%" height="75%"></td>';
  9. }
  10. if ($obrazki[$i] == 'papier.jpg')
  11. echo 'Niestety przegrales. Spróbuj jeszcze raz!';
  12. ?>


Dopiero zaczynam i piszę skrypt gry kamień-papier-nożyce. Wszystko pięknie, ale wystąpił problem z podpisem. Mianowicie chciałem dodać komentarze pod wygraną/przegraną/remisem. Powyższa cześć skryptu uruchamia się, gdy gracz wybierze "kamień". Idąc logiką gdy funkcja losująca wybierze "papier" gracz przegrywa. Za pomocą konstrukcji "if" chciałem w takim przypadku dodać stosowny komentarz. Napis się pokazał, ale nie wtedy kiedy potrzeba. Komentarz pojawia się z szansą 1/3 (też podlega losowaniu) również gdy shuffle wylosuje kamień oraz nożyce. Co jest nie tak?

Proszę się nie śmiać. To mój pierwszy skrypt. smile.gif
cycofiasz
Ale jak to ma dokładnie działać? Gdzie jest zmienna zawierająca wybór użytkownika?
Jeśli ją masz to porównuj ją z wylosowaną za pomocą if/ elseif. Do losowania użuj lepiej funkcji array_rand().

  1. $wybrano = ?;
  2. $wylosowano = $obrazki[array_rand($obrazki)];
  3.  
  4. if($wylosowano == $wybrano) echo 'remis';
  5. elseif($wylosowano == 'papier.jpg' && $wybrano == 'nożyce.jpg') echo 'wygrywasz';
  6. elseif($wylosowano == 'papier.jpg' && $wybrano == 'kamień.jpg') echo 'przegrywasz';
  7. i tak dalej..


Oczywiście można zastosować bardziej skomplikowaną strukturę tablicy $obrazki gdzie każdy obrazek będzie posiadał odpowiednie właściwości ale jak na początek możesz bawić się z ifami
NephilimV
Zrobiłem oddzielnie każdą stronę z wynikiem. Zależnie od tego czy gracz wybrał "kamień", "papier" czy "nożyce", odsyłało go na inną stronę. Jak mogę zrobić, aby była jedna podstrona np. "wynik.php", a zależnie od wyboru gracza strona prezentowała co innego?

Mam nadzieje, że to co napisałem jest zrozumiałe.
peter13135
przekazuj wybór GET'em, czyli dla poszczególnych wybórów daj link wynik.php?wybor=1,wytnik.php?wybor=2,wytnik.php?wybor=3

Następnie to odczytujesz tą zmienną : $_GET['wybor;]
NephilimV
Hm... Czyli tak ma wyglądać czysty kod html wyboru? Chciałbym zrobić możliwość wyboru obrazkowego:
  1. <center>Wybierz jedną z opcji:</center><br />
  2. <a href="wynik.php?wybor=1"><img src="http://img832.imageshack.us/img832/7366/kamie.jpg" alt="Kamień" border="0" width="33%" height="55%" /></a>
  3. <a href="wynik.php?wybor=2"><img src="http://img683.imageshack.us/img683/9327/papierja.jpg" alt="Papier" border="0" width="33%" height="55%" /></a>
  4. <a href="wynik.php?wybor=3"><img src="http://img854.imageshack.us/img854/3982/noyce.jpg" alt="Nożyce" border="0" width="33%" height="55%" /></a>


I dostanę trzy takie zmienne, do których będą mógł dodać inne dane tak?:
$_GET['1;]
$_GET['2;]
$_GET['3;]

Wszystko będę mógł umieścić w pliku wynik.php?

Dopiero zaczynam, zrozumcie.
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.