Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie meczy losowo,
djbarca
post 29.11.2009, 13:08:46
Post #1





Grupa: Zarejestrowani
Postów: 231
Pomógł: 1
Dołączył: 22.04.2007
Skąd: Rypin

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


Witam wszystkich! Mam problem na rozwiązanie którego mam bardzo mało czasu dlatego o pomoc zwracam się tutaj smile.gif
postaram sie w miare jasno przedstawic ocb.

mam tablice $tab w niej identyfikatory graczy
mam tablice $wyk w niej lista graczy, ktorzy nie moga na siebie trafic


przykładowe wypełnienie tablic
$tab = array('1','2','3','4','5','6','7','8','9','10'); - to sa identyfikatory graczy
$wyk = array('1-2','3-4','5-6','7-8','9-10');

i muszę wylosować pary dokładnie z 10 zawodników - 5 par. w taki sposób aby nie była to para z tablicy $wyk
zacząłem pisać coś takiego , ale nie za bardzo mi to chce działać
  1.  
  2. //losuje liczbe losowo w taki sposob aby nie powtarzala sie
  3. function l($ilosc,$gracz_aktualny,$wyk,$tab)
  4. {
  5. if (count($_SESSION['liga_rand_memory'])==$ilosc)
  6. {
  7. return 1;
  8. }
  9. else
  10. {
  11. while (!$ok)
  12. {
  13.  
  14. $a = rand(1,$ilosc);
  15. if (!in_array($a,$_SESSION['liga_rand_memory']) && $a!=$gracz_aktualny)
  16. {
  17. $ok=TRUE;
  18.  
  19. }
  20. }
  21. $_SESSION['liga_rand_memory'][] = $a;
  22. return $a;
  23. }
  24. }
  25.  
  26. function generuj($tab,$wyk)
  27. {
  28.  
  29. $ilosc_gracz = count($tab)-1;
  30. echo "<table border=1>";
  31. var_dump($wyk);
  32. foreach ($tab as $key => $gracze)
  33. {
  34.  
  35.  
  36. $a=l($ilosc_gracz,$gracze,$wyk,$tab);
  37. if (!in_array($tab[$a],$_SESSION['zagrali']) && !in_array($gracze,$_SESSION['zagrali']) && $gracze!=$tab[$a])
  38. {
  39. echo "
  40. <tr ".((in_array($gracze."-".$tab[$a],$wyk) || in_array($tab[$a]."-".$gracze,$wyk)) ? " style=color:red;" : " | ").">
  41. <td>Gracz($gracze)[wartosc z foreach]:</td>
  42. <td>".sprawdz_login_id($gracze)." </td>
  43. <td>wylosowal($a)[wartosc losowa odwolanie do pozycji w tab]: </td>
  44. <td>".sprawdz_login_id($tab[$a])." </td>
  45. </tr>";
  46.  
  47. $_SESSION['zagrali'][] = $tab[$a];
  48. $_SESSION['zagrali'][] = $gracze;
  49. }
  50.  
  51. }
  52. echo "</table>";
  53. unset($_SESSION['liga_rand_memory']);
  54. unset($_SESSION['zagrali']);
  55. }
  56.  


hm. jak to moge zrobic . ..
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 15:55