블랙잭 게임 미션 저장소
[닉네임]
- 닉네임 생성
- 이름 한 글자 이상
[참가자]
- 참가자 생성
- 쉼표 기준으로 분리
- 참가 2명 ~ 8명
- 중복 참가자 예외처리
[베팅 금액]
- 숫자여야한다.
- 0보다 커야한다.
- 정수여야한다.
[카드]
- 카드 문양, 번호 ENUM
- 카드 문양, 번호
[카드 덱]
- 서로 다른 52장의 카드를 생성
- 카드를 드로우 할 수 있다.
[카드 꾸러미]
- 여러 장의 카드를 가질 수 있는 일급 컬렉션
[플레이어, 딜러 - 추상 클래스] Person
- Player와 Dealer의 추상 클래스
- 카드를 추가할 수 있다.
- 보유한 카드를 가져올 수 있다.
- 보유한 카드로 점수를 계산할 수 있다. Player, Dealer
[게임 결과]
- 딜러와 플레이어간의 승 패 결과
[상태]
- BlackJack 처음 2 카드 합이 21
- Bust 카드 합이 21을 넘는 경우
- Stay 카드를 뽑고 난후 21점 사용자가 n 입력
- Hit
- 플레이어
- 카드합이 21보다 작은 경우
- 딜러
- 카드합이 16보다 작은 경우
- 플레이어
[베팅 금액 입력]
- 참여자별로 베팅 금액 입력받기
[카드 분배]
- 딜러와 플레이어에게 카드 2장씩 분배
- 딜러 카드는 1장만 공개
- 분배한 카드는 덱에서 제거
[카드 추가]
- 플레이어에게 카드를 더 받을 지 물어보기
- 입력은 y나 n 둘 중 하나
- 카드 합에 따라 달라진다.
- y : [x] 새로운 카드를 뽑기, 현재 보유 카드 출력
- n : [x] 현재 보유 카드 출력
- 딜러의 카드 합이 16이하면 17이상이 될 때까지 카드 추가
[게임 결과]
- 딜러와 플레이어가 가진 카드와 합 출력
- Ace 카드는 1이나 11으로 계산
- 21을 넘지 않는 선에서 21에 가깝게 계산
- K,Q,J는 10으로 계산
- Ace 카드는 1이나 11으로 계산
- 최종 승패 출력
- 각 플레이어와 딜러 점수 비교
- 플레이어 승
- 플레이어 카드 합이 21이 넘지 않으면서 딜러보다 높은 경우
- 딜러 카드 합이 21을 넘고 플레이어 카드합이 21을 넘지 않은 경우
- 딜러 승
- 딜러 카드 합이 21이 넘지 않으면서 플레이어보다 21에 가까운 경우
- 플레이어 카드 합이 21을 넘는 경우
- 무승부
- 딜러와 플레이어 카드 합이 둘다 21을 넘는 경우
- 딜러와 플레이어 카드 합이 같은 경우
- 플레이어 승
- 각 플레이어와 딜러 점수 비교