Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] jak rozdać karty do gry?
ibalyx
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.08.2013

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


hejo (IMG:style_emoticons/default/smile.gif) proszę o pomoc.

mam 4 stosy kart (A,B,C,D). w każdym stosie mam 4 karty (1,2,3,4). karty mają jakąś wartość liczbową (od 5 do 20). mam też 4 graczy.
chcę rozdać te karty graczom z pewnymi wymaganiami:
- każdy gracz może mieć tylko jedną kartę z każdego stosu
- suma wartości kart każdego gracza ma być możliwie wyrównana

dlatego potrzebuję skryptu który mi to obliczy, czyli przejrzy wszystkie możliwe kombinacje. nie wiem jak to zrobić. próbowałem z 4 pętlami, jedna w drugiej ale to chyba nie to. macie jakieś pomysły?

Ten post edytował ibalyx 18.12.2013, 20:06:53
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ibalyx
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.08.2013

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


zapomniałem o najważniejszej rzeczy. karty są podzielone na kolory wg hierarchii:
- czerwone (3 karty) - najsilniejsze
- niebieskie (4karty)
- zielone (5 kart)
- żółte (4 karty) - najsłabsze

tak więc "czerwona 5" jest silniejsza od "niebieskiej 20". wiele kombinacji teraz nie będzie, ale mimo wszystko wolałbym, żeby skrypt mi to wyliczył :-)

przykład:
STOS_A
- czerwona 5
- zielona 10
- zielona 10
- żółta 11

STOS_B
- czerwona 10
- czerwona 10
- zielona 15
- żółta 16

STOS_C
- niebieska 7
- niebieska 7
- zielona 9
- żółta 10

STOS_D
- niebieska 7
- niebieska 7
- zielona 9
- żółta 10

to nadal obowiązuje:
- każdy gracz może mieć tylko jedną kartę z każdego stosu

po kilku próbach wyszło mi tak: gracz_A = 39, gracz_B = 37, gracz_C = 37, gracz_D = 40.
nie wiem czy wszystkie kombinacje sprawdziłem.

Ten post edytował ibalyx 19.12.2013, 17:50:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 16:15