
Rozřazování po skupinkách
Ahoj,
chystám funkci do jedné minihry na jednom serveru a řeším, jak to co nejefektivněji a nejlogičtěji provést.
O co jde:
Zkrátka, když se teď hráči do té minihry připojí, tak je server automaticky přidělí do jedné z osmi frakce - konkrétně do té, kde je nejmíň hráčů. Pokud je ve 2 nebo více frakcích stejný počet hráčů, server náhodně jednu z nich vybere.
No a já chci přidat funkci, že si hráči budou moci založit skupinu se svými přáteli - skupina bude velká 2-7 lidí - a pokud se ti hráči s danou skupinou do hry připojí, tak budou všichni ve stejné frakci. Nutno podotknout, že všichni hráči a všechny skupiny jsou do frakcí přidělení ve stejnou chvíli - na začátku kola.
Otázka zní, jak to naprogramovat tak, aby se server o přidělení automaticky postaral a to tak, že ve všech frakcích bude pokud možno stejně hráčů, nebo se to tomu bude hodně blížit. Skupin může být samozřejmě víc, platí, že každý hráč může být jen v jedné skupině naráz.
Takže bude třeba
20 jednotlivců
4 skupiny po dvou
3 skupiny po třech
6 skupin po čtyřech
atd...
a server to musí nějak rovnoměrně rozdělit mezi těch 8 frakcí, aby všude bylo pokud možno stejně hráčů.
Nějaké nápady? Budu moc rád, pokud mi pomůžete.
Díky :)