![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Hej, tworzę stronę gdzie każdy ma daną ilość punktów, wygranych, przegranych i wyjść z gry.
Stworzyłem jak na razie takie założenia, wygrany ma +5, przegrany -3, osoba która wyszła z gry podczas jej trwania -10, w grze zawsze występuje 5 osób, istnieją dwie drużyny każda po 5. Gracze wchodzą do gry i po uzbieraniu 10 gra automatycznie jest stratowana, a oni przydzielanie dowiedzionych drużyn tak by gra była jak najbardziej zrównoważona. Nie koniecznie wiem jaki algorytm można by zastosować by teamy były jak najbardziej zrównoważone, można by przydzielać graczy w systemie 1-2-2-2-2-2-1, od największej ilości punktów do najmniejszej, lecz jeśli pierwszy gracz posiada 2000pkt, a reszta ~1200pkt to teamy nadal nie będą w najlepszej kondycji. Przydzielanie najlepszego do pierwszego teamu, a następnie reszty od najlepszego do najgorszego do drugiego aż do wyrównania różnicy też może nie zawsze dać dobry rezultat. Trzeba pamiętać, że nawet najlepszy gracz z gromadą osób nie umiejących grać nie da sobie rady z samymi średnio zaawansowanymi. Gracze z małą ilością wygranych (procentowo) lub z małą ilością punktów powinni mieć jakieś inne/specjalne uprawniania do rozkładania ich po równo w drużynach. Co o tym myślicie? Moim zdaniem najlepszym pomysłem na daną chwilę jest dodanie najlepszego do #1, reszty do #2 do czasu gdy ich pkt nie będzie większe nić #1, a jeśli go przewyższy znów do #2 na identycznych zasadach, gracze rozdawani od największej ilości punktów, jeśli w końcowym rozrachunku drożyny będą różniły się większą ilością pkt. niż 10% (liczba strzelona nieco w ciemno) gra może zostać automatycznie zamknięta, a gracze proszeni o wejście do nowej. Moim pytaniem związanym z php, a w zasadzie z samym algorytmem było by jak coś takiego najlepiej zapisać pamiętając o ograniczeniach z strony php, kod będzie w przeszłości odpalany co kilkanaście sekund więc jego optymalność, a w zasadzie optymalność algorytmu musi być dosyć spora, macie jakiś pomysł na spisanie go lub opracowanie innego? Mam nadzieje, że nie namieszałem za mocno. (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 11 Dołączył: 2.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Taki algorytm mi wpadł do głowy - na razie wydaje mi się logiczny, ale sam oceń.
Dzielisz losowo na 2 drużyny po 5. Teraz sprawdzasz, w której jest większa suma punktów. Sprawdzasz różnicę między drużynami. Dodajesz ilosc punktów najsłabszego gracza ze słabszej drużyny do tej różnicy. Dzielisz całość na 2 i w mocniejszej drużynie szukasz osoby punktowo najbardziej zbliżonej do tego wyniku. Wymieniasz ją z najsłabszym graczem z drużyny "słabej". I tak aż do momenty gdy ilość punktów w drużynach będzie równa (mało prawdopodobne) lub gdy teraz to drużyna słaba będzie mocna. Oznaczało by to, że nie ma już opcji podmian. Wymyślone na szybko, teraz wydaje mi się ok, no i mam nadzieję, że w mairę sensownie to wytłumaczyłem (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 17:14 |