Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] pauzowanie i wznawianie wykonywania pętli
Testosteron
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 2
Dołączył: 15.09.2011

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


Witajcie. Chciałbym napisać skrypt, który mógłbym używać podczas sędziowania pojedynków w armwrestlingu. Rozpisywanie wszystkiego na papierze jest męczące, a poza tym chciałbym poćwiczyć trochę PHP. Sam skrypt powinien losować pary do walki i uwzględniać możliwe błędy i zliczać punkty. Po kliknięciu przy nazwisku danego zawodnika skrypt powinien przyznać mu punkt i dokonać kolejnego losowania. Problem jest jednak zupełnie inny.

Chyba najbardziej oczywistym rozwiązaniem jest utowrzenie pętli, która będzie losowała pary, jednak nie chcę, żeby wylosowane pary pojawiły jako lista, a pojawiła się jedynie wylosowana para. Po walce klikałbym na przycink obok nazwiska zwycięscy. Skrypt dodałby punkt tej osobie a następnie dokonywałby ponownego losowania. Mógłby ktoś udzielić mi jakiś wskazówek, jak to zrobić?

Ten post edytował Testosteron 9.02.2014, 15:12:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Testosteron
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 2
Dołączył: 15.09.2011

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


Tak jak pisałem, to był jedynie szkielet skryptu. Problem był zupełnie inny - w momencie, kiedy został wylosowany zawodnik o indeksie 0, skrypt zaczynał się sypać, np. podczas odświeżania strony następowało ponowne losowanie zawodników co nie powinno mieć miejsca. Nie mam pojęcia dlaczego skrypt reagował w ten sposób, ale trochę go przebudowałem. Tylko, że podczas uruchamiania pliku walka.php pojawiało się ostrzeżenie, że zmienna $win nie ma przypisanej wartości. Dlatego stłumiłem to ostrzeżenie, chociaż nie wiem, czy nie będzie to miało wpływ na stabilność skryptu, kiedy zostanie udostępniony.
  1. <?php
  2. $zawodnicy = array('Michał', 'Kacper', 'Sylwek', 'Bonifacy', 'Rafał');
  3. If (empty($_GET['a'])|| empty($_GET['b']) ){
  4. $a = rand(1, 5);
  5. $b = rand(1,5);
  6. while($a==$b){
  7. $a = rand(1,5);
  8. $b = rand(1,5);
  9. }
  10. header('location: walka.php?a=' . $a . '&b=' . $b);
  11. } else {
  12. $zawodnik_a = $zawodnicy[$_GET['a']-1];
  13. $zawodnik_b = $zawodnicy[$_GET['b']-1];
  14. $win_a = $_GET['a']-1;
  15. $win_b = $_GET['b']-1;
  16. $a = rand(1, 5);
  17. $b = rand(1,5);
  18. while($a==$b){
  19. $a = rand(1,5);
  20. $b = rand(1,5);
  21. }
  22. @$zwyciezca = $zawodnicy[$_GET['win']];
  23. echo $zwyciezca . '<br />';
  24. echo $zawodnik_a . '<a href="walka.php?win=' . $win_a . '&a=' . $a . '&b=' . $b . '">[wygral]</a><br />';
  25. echo $zawodnik_b . '<a href="walka.php?win=' . $win_b . '&a=' . $a . '&b=' . $b . '">[wygral]</a><br />';
  26. }
  27. ?>


Ten post edytował Testosteron 10.02.2014, 19:32:22
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 01:55