- 딜러, 플레이어를 생성한다.
- 카드를 생성한다.
- 카드의 문양은 하트, 클로버, 다이아, 스페이드 4가지로 이루어져 있다.
- 카드의 숫자는 1~10, Ace, King, Queen, Jack 으로 이루어져 있다.
- 카드를 딜러와 플레이어에게 나누어준다.(카드를 뽑는다.)
- 처음에 플레이어와 딜러에게 2장씩 나누어준다.
- 카드 숫자 계산 결과가 21을 넘지 않을 경우 플레이어는 카드를 계속 뽑을 수 있다.
- 딜러가 처음에 받은 카드 2장의 합계가 16점 이하이면 1장의 카드를 추가로 받고, 17점 이상이면 받을 수 없다.
- 카드의 숫자를 계산한다.
- 숫자 계산은 카드 숫자를 기본으로 하며 Ace는 1 또는 11, King, Queen, Jack은 10으로 계산한다.
- 최종 수익 결과를 생성한다.
- 카드를 추가로 뽑아 21을 초과할 경우 베팅 금액을 모두 잃게 된다.
- 처음 두 장의 카드 합이 21일 경우 블랙잭이 되면 베팅 금액의 1.5 배를 딜러에게 받는다. 딜러와 플레이어가 모두 동시에 블랙잭인 경우 플레이어는 베팅한 금액을 돌려받는다.
- 딜러가 21을 초과하면 그 시점까지 남아 있던 플레이어들은 가지고 있는 패에 상관 없이 승리해 베팅 금액을 받는다.
- 게임에 참여할 사람을 입력받는다.
- 플레이어의 베팅 금액을 입력받는다.
- 플레이어의 카드 상태를 출력한다.
- 카드를 받을지 물어보는 메세지를 출력한다.
- 카드를 받을지 말지 여부를 입력받는다.
- 플레이어의 카드 상태와 계산 결과를 출력한다.
- 최종 수익 결과를 출력한다.