Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Shuffle i konstrukcja if., Czyli problem z utworzeniem podpisu do wylosowanego obrazka.
NephilimV
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.08.2011

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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

Ten post edytował cycofiasz 14.08.2011, 18:30:26
Go to the top of the page
+Quote Post
NephilimV
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.08.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
peter13135
post
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


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;]


--------------------
:)
Go to the top of the page
+Quote Post
NephilimV
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.08.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:40