Talia kart. Co jest bardziej optymalne zmienna typu bool czy usuwanie ?

0

Witam.
Piszę program do gry w pokera i mam pewne wątpliwości, już wyjaśniam.
Mam klasę "Card" i w innej klasie znajduje się ArrayList, który odpowiada talii kart, czyli przechowuje 52 obiekty ( typu Card oczywiście ), które różnią się kolorem lub figurą ( no jak to karty ).
Gdy gra się zaczyna ( trzeba uwzględnić, że po skończonej grze, program nie kończy działania, bo możemy wybrać opcję nowa gra.
Wiadomo, karty są rozdawane pomiędzy graczy i tu moje pytanie, czy optymalnie jest usuwać z talii rozdaną kartę ( by uniknąć ponownego jej rozdania ) a potem przy nowym rozdaniu tworzyć talię na nowo czy lepiej będzie w klasie Card stworzyć metodę : bool rozdana(), która zwraca czy karta została rozdana ?
Oczywiście jestem otwarty na inne propozycje :)

Pozdrawiam

0

Nie lepiej zamiast ArrayList użyć zwykłej tablicy skoro ilość elementów jest stała i znana?
Ja bym wszystko zrobił na tablicy ewentualnie w Mapie... Każdy index tablicy odpowiadałby jednej karcie a wartości mówiły by np. o tym gdzie się karta znajduje. Ewentualnie kilka tablic charakteryzujących te karty. np. jedna: boolean czyRozdana , druga int uKtoregoGracza, trzecia String nazwyKart.
No, ale moje podejście jest eRowe, gdzie rządzą wektory.

0

Bardziej logiczne i sensowne jest przesuwanie tych obiektów jednak. Więc w trakcie gry masz np. k+1 (albo i k+2) talie -> tą z której rozdajesz, k talii po jednej dla użytkownika (jego ręka) i ewentualnie jeszcze talia na odrzucone karty jeśli chcesz je gdzieś mieć dostępne, ale ma tam jeden zestaw kart który przesuwasz pomiedzy tymi listami.

1

i tu moje pytanie, czy optymalnie

Co to znaczy optymalnie? Jeśli pod kątem szybkości, to nie ma co myśleć na zapas o optymalizacji, jak masz raptem 52 karty, więc dla komputera to tyle co nic.

1 użytkowników online, w tym zalogowanych: 0, gości: 1