Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> losowe minuty do wyniku meczu
ibalyx
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.08.2013

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


hejo :-)

poproszę o poradę jak mam to zrobić.

powiedzmy, że wygenerowałem sobie jakiś wynik meczu.
i teraz chcę wylosować minuty w których padły gole. ale z rozróżnieniem dla kogo, gospodarz, czy gość i w kolejności od najwcześniejszej do najpóźniejszej.

męczę się z tablicami, pętlami i warunkami i mi nie wychodzi :-/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kreatiff
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Możliwości jest tyle, ilu programistów (IMG:style_emoticons/default/wink.gif)

Nudziło mi się, to zrobiłem sobie mini symulator, udanej zabawy:
  1. $gole_gospodarze = 0;
  2. $gole_goscie = 0;
  3.  
  4. // ile % szans w każdej minucie mają drużyny (1% daje wyniki zbliżone do realnych), gdy. np. gra Australia z Samoa Amerykańskie (było onegdaj 31:0) można dać wartości 30 i 0, gdy Polska z Niemcami np. 1 i 2 czy 1 i 3 (czyli, że Niemcy mają więcej szans na gola, bo są lepsi)
  5. $szansa_na_gola_gospodarzy = 1;
  6. $szansa_na_gola_gosci = 1;
  7.  
  8. $gole = array(
  9. 'gospodarze' => array(),
  10. 'goscie' => array()
  11. );
  12. $relacja[] = '---[1 połowa]---'; // początek relacji z meczu
  13.  
  14. $minuta = 1; // początek meczu, pierwsza minuta
  15. while ( $minuta <= 90 ) {
  16. if ( mt_rand(1, 100) <= $szansa_na_gola_gospodarzy ) {
  17. $gole['gospodarze'][$minuta <= 45 ? 1 : 2][] = $minuta;
  18. $gole_gospodarze++;
  19. $relacja[] = "$minuta' gol dla Gospodarzy";
  20. }
  21. if ( mt_rand(1, 100) <= $szansa_na_gola_gosci ) {
  22. $gole['goscie'][$minuta <= 45 ? 1 : 2][] = $minuta;
  23. $gole_goscie++;
  24. $relacja[] = "$minuta' gol dla Gości";
  25. }
  26. if ( $minuta == 45 ) $relacja[] = '---[2 połowa]---';
  27. ++$minuta;
  28. }
  29. $relacja[] = "Wynik meczu: Gospodarze $gole_gospodarze:$gole_goscie Goście";
  30. $relacja[] = 'Komentował dla Państwa Dariusz Pehapowski';
  31. $relacja = implode('<br>', $relacja);
  32.  
  33. echo $relacja;
Tablica $gole zawiera rozpiskę meczu w postaci tablicy z podziałem na gospodarzy/gości i połowy meczu z minutami, kiedy padły bramki.

Acha, skrypt nie uwzględnia możliwości, że padają dwie bramki dla tej samej drużyny w tej samej minucie. Poprawę tego pozostawiam już inwencji własnej.
Szanse na gola można łatwo z procentów przerobić też na procenty i promile, gdy np. 1 i 2 to zbyt duża rozbieżność w szansach drużyn na bramki, ale jednocześnie nadal chcemy zachować jakąś proporcję co do drużyn, że jedna jest lepsza, a druga gorsza (czyli np. chcielibyśmy dać szanse 1 i 1,1 - druga drużyna lepsza od pierwszej o 10%).

Ten post edytował kreatiff 6.03.2015, 21:28:35
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: 13.10.2025 - 15:20