파이썬/파이썬(python) 초급

[11-2 파이썬] 블랙잭 게임 만들기(순서도, 알고리즘)

Olivia-BlackCherry 2022. 8. 20. 08:18

지난 시간, 블랙잭 게임의 규칙에 대해 알아보았다. 

블랙잭 규칙은 아래의 게시글을 참고하기를 바란다.

https://olivia-blackcherry.tistory.com/manage/newpost/88?type=post&returnURL=https%3A%2F%2Folivia-blackcherry.tistory.com%2F88 

 

https://olivia-blackcherry.tistory.com/manage/newpost/88?type=post&returnURL=https%3A%2F%2Folivia-blackcherry.tistory.com%2F88

 

olivia-blackcherry.tistory.com

 

오늘은

블랙잭 게임을 만들기 위한 순서도를 작성해보았다. 

누구나 생각회로, 논리회로는 다르기 때문에

모두가 다른 순서도가 나올 수 있다. 

 

나는 아래와 같이 순서도를 작성했지만,

완성하고 나니,

더 나은 방법이

(더 간결하고, 논리적이고, 효율적인)

떠오르기도 했다. 

 

우선은 초기 순서도와 코드를 올린다. 

차후에는

업그레이드 된 순서도와 코드를 올리도록 하겠다. 

 

블랙잭 게임은 단순해보이지만,

초보자가

해당 알고리즘을 짜려면,

생각보다 복잡하다는 느낌을 받는다. 

 

그럴 때는,

논리를 단순화시켜 접근하면 된다. 

 

나 역시 처음부터 완성된 알고리즘을 짜지 않고,

1, 2단계로 나누었다. 

 

1단계 알고리즘은

블랙잭 게임에서 아래의 두 가지 규칙을 제외했다.

5번 에이스의 역할 (1,11)

6번 블랙잭 외치기 (21)

<게임 규칙>
1. 베팅을 한 후 모든 플레이어와 딜러는 두 장의 카드를 받습니다.
2. 딜러는 자신의 카드 중 한 장을 오픈합니다.
3. 딜러는 카드의 합이 17이 될 때까지 반드시 추가 카드를 뽑아야 합니다.
4. 플레이어는 카드의 합이 21을 넘지 않는 범위 내에서 추가 카드를 받을 수도(Hit),받지 않을 수도(Stand)있습니다.
5. 새로 받은 카드가 에이스라면 1, 11 중 딜러와 플레이어에게 유리하게 자동으로 선택되어 계산된다. 
6. 이긴 사람의 점수가 21이거나, 비겼을 때 점수가 21이라면 "블랙잭"을 외친다.

 

 

순서도는 아래와 같다.

 

 

 

 

2단계 알고리즘은

에이스의 역할과

블랙잭 외치기를 포함했다.

<게임 규칙>
1. 베팅을 한 후 모든 플레이어와 딜러는 두 장의 카드를 받습니다.
2. 딜러는 자신의 카드 중 한 장을 오픈합니다.
3. 딜러는 카드의 합이 17이 될 때까지 반드시 추가 카드를 뽑아야 합니다.
4. 플레이어는 카드의 합이 21을 넘지 않는 범위 내에서 추가 카드를 받을 수도(Hit),받지 않을 수도(Stand)있습니다.
5. 새로 받은 카드가 에이스라면 1, 11 중 딜러와 플레이어에게 유리하게 자동으로 선택되어 계산된다. 
6. 이긴 사람의 점수가 21이거나, 비겼을 때 점수가 21이라면 "블랙잭"을 외친다.

 

 

 

 

다음 시간에는 직접 코드를 작성해보자.