- 플레이어를 입력받을 수 있어야한다.
- 카드 덱에서 한 장의 카드를 받을 수 있어야한다.
- 플레이어가 각각 카드를 2장 발급받아야한다.
- 플레이어가 한 장의 카드를 더 받을 지 선택할 수 있어야한다.
- 플레이어가 소지한 카드를 볼 수 있어야한다.
- 플레이어의 카드 점수를 계산할 수 있어야한다.
Card
: 카드 객체CardDeck
: 48개 카드 생성 인터페이스CardDeckImpl
: `48개 카드 생성 및 셔플BlackJack
: 블랙잭 게임 수행Player
: 플레이어 객체PlayerScore
: 플레이어의 점수 객체Score
: 모든 플레이어의 점수 계산BlackJackRequest
: 블랙잼 게임 수행 시 입력받은 플레이어를 플레이어 객체 리스트로 변환해서 전달
- 플레이어 입력 시 공백 모두 제거 후 ,로 분리
- 한 장의 카드 더 받을 시 대답이
y
혹은n
이 아닐 경우 다시 입력받도록 처리 - 48장의 카드는 중복이 없음을 보장
에이스 카드 존재
AND21점 초과
시 11이 아닌 1로 점수 계산
- 딜러가 블랙잭 게임이 시작되면 2장의 카드를 발급받을 수 있어야한다.
- 딜러가 16점 이하일 경우 자동으로 카드를 한 장 받을 수 있어야한다.
- 딜러가 받은 카드들이 출력이 되어야한다.
- 딜러가 21점 이상이면 플레이어의 승이다.
- 플레이어가 20점 이하일 경우 새로운 카드를 발급받을 수 있어야한다.
- 플레이어와 딜러의 승패를 출력할 수 있어야한다.