Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Losowanie drużyn
Forum PHP.pl > Forum > PHP > Object-oriented programming
Talib
Witam. Chciałbym stworzyć skrypt, który losuje graczy, którzy mają określoną ilość punktów. Skrypt/funkcja miałba losować określoną liczbe najlepszych składów.

Nie wiem zabardzo z której strony się za to zabrać.. Oto przedstawienie dokładniej o co mi chodzi:

Lista graczy z ich punktacją:
Marcin 10
Grzesiek 20
Krzysiek 25
Antek 35

Tak więc wynikiem funkcji, która miałaby wylosować tylko jeden najlepszy skład byłoby:
Team A: Antek[35], Marcin [10]; razem pkt 45
Team B: Krzysiek[25], Grzesiek [20]; razem pkt 45

Tak więc jest to najlepszy podział, bo róznica punktowa miedzy druzynami jest rowna 0;
Jeżeli funkcja miałaby wywyołac dwa wyniki, drugim byłby:
Team A: Antek[35], Grzesiek [20]; razem pkt 55
Team B: Krzysiek[25], Marcin [10]; razem pkt 35


Prosiłbym o podpowiedz z której strony miałbym sie za to zabrać, jakie funkcje byłyby pomocne..

Z góry thx smile.gif

EDIT:

Ale może zdarzyć się też tak, że mamy takich graczy:
Team A:Marcin 50,Krzysiek 50;razem 100
Team B: Grzesiek 25, CZesiek 40, Antek 35; razem 100

Wiec w takiej sytuacji nie mozna laczyć najlepszych i znajslabszych.

Sorry, wczesniej zapomnailem dodac ze teamy moga byc asymetryczne, i nie musza sie skadac z takiej samej liczby graczy.
dr_bonzo
1. Jesli chcesz Znalezc 2 teamy tak zeby byly jak najbardziej ROWNE to jest to http://pl.wikipedia.org/wiki/Optymalne_sze...ielu_procesorów -> szukaj algorytmow jak to sie robi.
2. Co do "utrudnien" (dodatkowych warunkow - "Wiec w takiej sytuacji nie mozna laczyć najlepszych i znajslabszych." i inne ) - nie bardzo rozumiem jakie one sa, i raczej trudno je podpiac do algorytmow z [1]
3. Jak masz MALO danych to mozesz wygenerowac WSYZSTKIE mozliwe kombinacje, przejrzec je, odrzucic te ktore nie spelniaja "utrudnien" i wybrac ten wynik ktory daje ci najlepsza wartosc.

jakie funkcje? petelki, tablice itd.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.