Zastanawiam sie nad zadankiem o tytule "poker hands". Gre w pokera zna chyba kazdy. Nie wiem jak ze strony programistycznej zajac sie zaimplementowaniem sprawdzania jaka konfiguracje kart ma gracz. Tzn. czy ma pare, strita, fula itd. Zwracam sie z prosba o podpowiedź;)
zrob jakas tablice z danymi dot. kart i ustaw ich tyle ile kart w talli, do tego pomieszaj i rozdaj :) proste...
no dobrze, tyle to wiem. Ale chodzi o to jak zorganizowac sama procedure sprawdzania (jaką struktura danych sie posłużyć itd.) jaki uklad kart ma w rece gracz? jak sprawdzić czy jeden ma strita a drugi fula? i to ktory wygrywa?
Juz Ci napisalem.
pogrupuj figury rosnąco i
- sprawdź czy karty są tego samego koloru, jeśli tak, to mamy kolor lub pokera, zapamietaj kolor.
- następnie sprawdź, czy karty tworzą sekwencje rosnącą, jeśli tak to zapamiętaj najwyższą lub najniższą figure w sekwencji.
- (1. i 2.) - poker, koniec sprawdzenia
(1. i nie 2.) - kolor, koniec sprawdzenia
(nie 1. i 2.) - street, koniec sprawdzenia
(nie 1. i nie 2.) - sprawdzaj dalej - teraz podziel karty na grupy o takich samych figurach, posortuj grupy wg liczebności i znajdz w każdej grupie karte o najwyższym kolorze
- jeśli jest jakaś czwórka - koniec sprawdzania
jeśli jest trójka - sprawdz jeszcze czy jest ful, koniec sprawdzania
jeśli jest para - sprawdz czy są dwie
Teraz aby porównać 2 wyniki:
-porównaj typ wyniku (poker bedzie najwiekszy), jeśli takie same:
-porównaj numer figury (as najwiekszy) która jest:
w 2-ce, 3-ce, 4-ce jest to figura tworząca daną grupe
w dwóch parach jest to figura większej z par
w fulu jest to figura tworzącej go trójki
poker, kolor, street - najwyższa z figur
jeśli takie same:
-gdy są to dwie pary to porównaj figure mniejszej pary, jeśli nie są to dwie pary:
-porównaj kolor (trefl największy (kier ?)) następującej karty [nie wiem jak jest dokładnie w
zasadach, przynajmniej ja tak grałem]:
poker, kolor - wiadomo
street - kolor najwyższej figury
ful, 4-ka, 3-ka - nigdy nie dojdzie do tego porównania
dwie pary - wyższy kolor wyższej pary
para - kolor wyższy
PS
2-ka to oczywiście para, a ful to 3-ka + 2-ka
Spotkałem sie z róznym nazewnictwem (np. że ful to kareta !?!?), więc użyłem takiego jakiego użyłem ;P
no właśnie o to chodzilo o samo sprawdzanie. dzieki;)