![]() |
![]() |
--Srebrny-- |
![]()
Post
#1
|
Goście ![]() |
nie mam pojęcia jak nazwać ten wątek, za co przepraszam (IMG:style_emoticons/default/smile.gif)
ale o so hozi? już tłumaczę. mam tablice: (powiedzmy, że są to gracze, którzy mają takie żetony z numerkami) Kod $a = array(1, 24, 35, 46, 57, 68, 79, 90, 101, 112, 123, 134); $b = array(2, 13, 36, 47, 58, 69, 80, 91, 102, 113, 124, 135); $c = array(3, 14, 25, 48, 59, 70, 81, 92, 103, 114, 125, 136); $d = array(4, 15, 26, 37, 60, 71, 82, 93, 104, 115, 126, 137); $e = array(5, 16, 27, 38, 49, 72, 83, 94, 105, 116, 127, 138); $f = array(6, 17, 28, 39, 50, 61, 84, 95, 106, 117, 128, 139); $g = array(7, 18, 29, 40, 51, 62, 73, 96, 107, 118, 129, 140); $h = array(8, 19, 30, 41, 52, 63, 74, 85, 108, 119, 130, 141); $x = array(9, 20, 31, 42, 53, 64, 75, 86, 97, 120, 131, 142); $j = array(10, 21, 32, 43, 54, 65, 76, 87, 98, 109, 132, 143); $k = array(11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 144); $l = array(12, 23, 34, 45, 56, 67, 78, 89, 100, 111, 122, 133); następnie mieszam żetony: Kod shuffle($a); shuffle($b); shuffle($c); shuffle($d); shuffle($e); shuffle($f); shuffle($g); shuffle($h); shuffle($x); shuffle($j); shuffle($k); shuffle($l); potem robię pętlę, żeby je wyświetlić: Kod for ($i=0; $i < 12; $i++) { echo '<tr> <td>'.($i+1).'.</td> <td>'.$a[$i].'</td> <td>'.$b[$i].'</td> <td>'.$c[$i].'</td> <td>'.$d[$i].'</td> <td>'.$e[$i].'</td> <td>'.$f[$i].'</td> <td>'.$g[$i].'</td> <td>'.$h[$i].'</td> <td>'.$x[$i].'</td> <td>'.$j[$i].'</td> <td>'.$k[$i].'</td> <td>'.$l[$i].'</td> </tr>'; } tylko teraz potrzebuję tak: - w każdym kroku pętli ustawić je w kolejności od najmniejszej do największej - zliczyć ile razy dany gracz był pierwszy, drugi, trzeci... itd. i nie bardzo wiem jak do tego podejść (IMG:style_emoticons/default/smile.gif) proszę o naprowadzenie mnie lub wskazanie jak to inaczej zrobić. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
zarejestruj się jeśli szukasz pomocy
od najmniejszej do najwiekszej - tworzysz dodatkowa tablice przed deklaracja pętli, potem w petli uzupelniasz ja uzywajac operatora " [] " zliczyc ile razy byl pierwszy itd - tworzysz zmienna np. z nazwa usera i robisz $zmienna++ jesli byl 1., 2. itd... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 9 Dołączył: 18.06.2013 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
I da Ci w kolejności. Już tam to sobie pouzupełniasz tak by było <td> i <tr>, ja już się z tym nie bawiłem. Z userami to bym napisał, ale muszę wychodzić. Zrobiłbym coś w stylu, żeby oznaczyć usera i za każdym razem, gdy wystapi zwiększać inkementacją zmienną i potem też sortem wszystko wypakowac. |
|
|
--Srebrny-- |
![]()
Post
#4
|
Goście ![]() |
do tego doszedłem (wersja uproszczona):
Kod <?php // zestawy żetonów $zes_a = array(1, 8, 11, 14); $zes_b = array(2, 5, 12, 15); $zes_c = array(3, 6, 9, 16); $zes_d = array(4, 7, 10, 13); // gracz A - miejsca $A1 = 0; $A2 = 0; $A3 = 0; $A4 = 0; // gracz B - miejsca $B1 = 0; $B2 = 0; $B3 = 0; $B4 = 0; // gracz C - miejsca $C1 = 0; $C2 = 0; $C3 = 0; $C4 = 0; // gracz D - miejsca $D1 = 0; $D2 = 0; $D3 = 0; $D4 = 0; // mieszanie żetonów shuffle($zes_a); shuffle($zes_b); shuffle($zes_c); shuffle($zes_d); for ($i = 0; $i < 4; $i++){ $tablica = array($zes_a[$i], $zes_b[$i], $zes_c[$i], $zes_d[$i]); // każdy z graczy pokazuje jeden dowolny żeton sort($tablica); // sortujemy żetony // wyświetla jaki gracz pokazał jaki żeton echo '<b>wyscig '.($i+1).'</b><br>'; if($tablica[0] == $zes_a[$i]) echo 'A - '.$zes_a[$i].'<br />'; if($tablica[0] == $zes_b[$i]) echo 'B - '.$zes_b[$i].'<br />'; if($tablica[0] == $zes_c[$i]) echo 'C - '.$zes_c[$i].'<br />'; if($tablica[0] == $zes_d[$i]) echo 'D - '.$zes_d[$i].'<br />'; if($tablica[1] == $zes_a[$i]) echo 'A - '.$zes_a[$i].'<br />'; if($tablica[1] == $zes_b[$i]) echo 'B - '.$zes_b[$i].'<br />'; if($tablica[1] == $zes_c[$i]) echo 'C - '.$zes_c[$i].'<br />'; if($tablica[1] == $zes_d[$i]) echo 'D - '.$zes_d[$i].'<br />'; if($tablica[2] == $zes_a[$i]) echo 'A - '.$zes_a[$i].'<br />'; if($tablica[2] == $zes_b[$i]) echo 'B - '.$zes_b[$i].'<br />'; if($tablica[2] == $zes_c[$i]) echo 'C - '.$zes_c[$i].'<br />'; if($tablica[2] == $zes_d[$i]) echo 'D - '.$zes_d[$i].'<br />'; if($tablica[3] == $zes_a[$i]) echo 'A - '.$zes_a[$i].'<br />'; if($tablica[3] == $zes_b[$i]) echo 'B - '.$zes_b[$i].'<br />'; if($tablica[3] == $zes_c[$i]) echo 'C - '.$zes_c[$i].'<br />'; if($tablica[3] == $zes_d[$i]) echo 'D - '.$zes_d[$i].'<br />'; echo '<b>Koniec wyscigu.</b><hr />'; // liczymy na którym miejscu był gracz w każdym z wyścigów if($tablica[0] == 1 or $tablica[0] == 8 or $tablica[0] == 11 or $tablica[0] == 14) $A1 += 1; if($tablica[1] == 1 or $tablica[1] == 8 or $tablica[1] == 11 or $tablica[1] == 14) $A2 += 1; if($tablica[2] == 1 or $tablica[2] == 8 or $tablica[2] == 11 or $tablica[2] == 14) $A3 += 1; if($tablica[3] == 1 or $tablica[3] == 8 or $tablica[3] == 11 or $tablica[3] == 14) $A4 += 1; if($tablica[0] == 2 or $tablica[0] == 5 or $tablica[0] == 12 or $tablica[0] == 15) $B1 += 1; if($tablica[1] == 2 or $tablica[1] == 5 or $tablica[1] == 12 or $tablica[1] == 15) $B2 += 1; if($tablica[2] == 2 or $tablica[2] == 5 or $tablica[2] == 12 or $tablica[2] == 15) $B3 += 1; if($tablica[3] == 2 or $tablica[3] == 5 or $tablica[3] == 12 or $tablica[3] == 15) $B4 += 1; if($tablica[0] == 3 or $tablica[0] == 6 or $tablica[0] == 9 or $tablica[0] == 16) $C1 += 1; if($tablica[1] == 3 or $tablica[1] == 6 or $tablica[1] == 9 or $tablica[1] == 16) $C2 += 1; if($tablica[2] == 3 or $tablica[2] == 6 or $tablica[2] == 9 or $tablica[2] == 16) $C3 += 1; if($tablica[3] == 3 or $tablica[3] == 6 or $tablica[3] == 9 or $tablica[3] == 16) $C4 += 1; if($tablica[0] == 4 or $tablica[0] == 7 or $tablica[0] == 10 or $tablica[0] == 13) $D1 += 1; if($tablica[1] == 4 or $tablica[1] == 7 or $tablica[1] == 10 or $tablica[1] == 13) $D2 += 1; if($tablica[2] == 4 or $tablica[2] == 7 or $tablica[2] == 10 or $tablica[2] == 13) $D3 += 1; if($tablica[3] == 4 or $tablica[3] == 7 or $tablica[3] == 10 or $tablica[3] == 13) $D4 += 1; } // wyświetlanie wyników echo '<table border = "1">'; echo '<tr>'; echo '<th>miejsce</th>'; echo '<th>GRACZ A</th>'; echo '<th>GRACZ B</th>'; echo '<th>GRACZ C</th>'; echo '<th>GRACZ D</th>'; echo '</tr><tr>'; echo '<th>1.</th>'; echo '<td>'.$A1.'</td>'; echo '<td>'.$B1.'</td>'; echo '<td>'.$C1.'</td>'; echo '<td>'.$D1.'</td>'; echo '</tr><tr>'; echo '<th>2.</th>'; echo '<td>'.$A2.'</td>'; echo '<td>'.$B2.'</td>'; echo '<td>'.$C2.'</td>'; echo '<td>'.$D2.'</td>'; echo '</tr><tr>'; echo '<th>3.</th>'; echo '<td>'.$A3.'</td>'; echo '<td>'.$B3.'</td>'; echo '<td>'.$C3.'</td>'; echo '<td>'.$D3.'</td>'; echo '</tr><tr>'; echo '<th>4.</th>'; echo '<td>'.$A4.'</td>'; echo '<td>'.$B4.'</td>'; echo '<td>'.$C4.'</td>'; echo '<td>'.$D4.'</td>'; echo '</tr>'; echo '</table>'; ?> da się to jakoś lepiej zrobić? tzn. na pewno się da (IMG:style_emoticons/default/smile.gif) tylko ja jeszcze nie wiem jak. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 16:04 |