지난 시간, 블랙잭 게임의 규칙에 대해 알아보았다.
블랙잭 규칙은 아래의 게시글을 참고하기를 바란다.
오늘은
블랙잭 게임을 만들기 위한 순서도를 작성해보았다.
누구나 생각회로, 논리회로는 다르기 때문에
모두가 다른 순서도가 나올 수 있다.
나는 아래와 같이 순서도를 작성했지만,
완성하고 나니,
더 나은 방법이
(더 간결하고, 논리적이고, 효율적인)
떠오르기도 했다.
우선은 초기 순서도와 코드를 올린다.
차후에는
업그레이드 된 순서도와 코드를 올리도록 하겠다.
블랙잭 게임은 단순해보이지만,
초보자가
해당 알고리즘을 짜려면,
생각보다 복잡하다는 느낌을 받는다.
그럴 때는,
논리를 단순화시켜 접근하면 된다.
나 역시 처음부터 완성된 알고리즘을 짜지 않고,
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이라면 "블랙잭"을 외친다.
다음 시간에는 직접 코드를 작성해보자.
'파이썬 > 파이썬(python) 초급' 카테고리의 다른 글
[12-2 파이썬] 전역 변수 수정하기, global, 전역 상수 (0) | 2022.08.20 |
---|---|
[12-1 파이썬] 지역 변수, 전역 변수, scope, 지역 함수 (0) | 2022.08.20 |
[11-1 파이썬] 블랙잭 게임 만들기(블랙잭 게임 규칙 알기) (0) | 2022.08.19 |
[10-6 파이썬] 계산기 만들기 1단계(딕셔너리에 함수 넣기) (3) | 2022.08.19 |
[10-5 파이썬] print와 return 차이, print vs return, 출력 vs 반환, 출력 vs 리턴 (0) | 2022.08.18 |