- 쉼표를 기준으로 참여자의 이름을 구분한다.
- 게임을 시작하면 두 장의 카드를 지급받는다.
- 21을 넘지 않은 경우 얼마든지 카드를 계속 뽑을 수 있다.
- 21을 넘으면 자동으로 카드를 뽑을수 없는 상태가 된다.
- 카드 합이 21 또는 21에 가까운 숫자를 가지는 쪽이 승리한다. (21을 넘기면 안된다)
- 카드는 숫자 계산은 카드 숫자를 기본으로 한다.
- 예외로 Ace는 1 또는 11로 계산할 수 있다.
- King, Queen, Jack은 각각 10으로 계산한다.
- indent depth를 2를 넘지 않도록 구현한다.
- 모든 엔티티를 작게 유지한다.
- 함수(또는 메서드)의 길이가 15라인을 넘지 않도록 한다.
- 게임 플레이어에 딜러도 포함된다.
- 딜러는 게임 시작시 2장의 카드를 지급받는다.
- 딜러의 카드는 한 장만 오픈한다.
- 딜러는 처음 받은 두 장의 카드가 16점 이하일 경우 반드시 1장의 카드를 추가로 받아야 한다.
- 딜러는 처음 받은 두 장의 카드가 17점 이상일 경우 추가로 카드를 받을 수 없다.
- 딜러가 21을 초과하면 그 시점까지 남아있는 플레이어들은 가지고 있는 패와 상관없이 승리한다.
- 게임 완료 후 플레이어별 승패를 출력한다.
- 딜러와 동점일 경우는 패배로 처리한다.
- 딜러와 동점일 경우에는 딜러는 승리로 처리하지 않는다.
- 딜러와 동점일 경우에는 딜러는 패배로도 처리하지 않는다.
- 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
- 딜러와 플레이어에서 발생하는 중복 코드를 제거한다.