본문 바로가기
코딩 따라하기

배스킨라빈스 31 따라하기 (Coding Game baskinRobbins31)

by 전자남성 2020. 12. 2.

배스킨라빈스 31 따라하기 (Coding Game baskinRobbins31)

 

이번에도 추억의 배스킨라빈스 31 게임을 따라 해 보겠습니다.

먼저 배스킨라빈스는 나와 상대가 1~3까지의 숫자를 외쳐서 숫자들을 더하는 게임입니다.

서로 외친 숫자의 누적합이 31 이상이 되면 지는 게임입니다.

 

예를 들어 양쪽에서 합친 수가 29일 때 다음 턴이 1을 불러 30 됐을 때 그다음 턴이 패배합니다.

마찬가지로 누적된 합이 30일 때 다음 턴이 무조건 패배하게 됩니다.

 

코드 파일은 baro31.py로 만들어봤습니다. 그럼 코드를 따라 해 보겠습니다.

 

import random

baro31=0

user=0

com=0

 

while True :

print("숫자를 입력해 주세요.")

user=int(input())

baro31+=user

if baro31>= 31:

print("com이 이겼습니다.")

break

 

com = random.randint(1,3)

print("com 숫자",com)

baro31+=com

if baro31 >=31:

print("user가 이겼습니다")

break

 

print("총합", baro31)

 

오늘도 뭉텅이 별로 코드를 체크해보겠습니다.

 

첫 뭉텅이 1행은 파이썬에서 랜덤 패키지를 읽어옵니다.

2행은 유저와 컴퓨터가 부른 숫자가 더해지는 누적 값입니다.

3행은 유저가 부를 값입니다.

4행은 컴퓨터가 부를 값입니다.

게임이 시작되기 전에 2, 3, 4행 모두 0으로 초기화되어야 합니다. 따라서 baro31=0, user=0, com=0 이 됩니다.

 

두 번째 뭉텅이에서 5행은 조건이 참일 경우 계속 반복돼서 코드가 실행되는 while문입니다.

6행은 숫자를 넣으라고 화면에 출력문이 나오는 코드입니다.

7행은 int(input()) 이기 때문에 숫자에 한해서 값을 넣으면 됩니다. 1~3까지의 숫자를 넣는 게임이기 때문에 1~3을 넣습니다.

8행은 7행에서 넣은 값이 baro31 값으로 누적됩니다.

 

9행은 만약 8행은 baro31 값이 31 이상이 되게 되면 10행에서 "com이 이겼습니다."라는 문구를 출력하며 게임이 끝나게 됩니다.

11행에서 break문으로 코드가 끝나게 됩니다.

 

세 번째 뭉텅이입니다.

9행에서 baro31 값이 31 이상으로 누적되지 않을 시 12행이 실행됩니다.

12행은 컴퓨터가 random.randint(1,3)을 사용하여 1,2,3의 숫자들을 랜덤으로 선택합니다.

13행은 print 문으로 컴퓨터가 말한 값이 화면에 출력됩니다.

14행은 컴퓨터가 말한 값이 baro31 누적 값으로 합쳐지게 됩니다.

 

15행은 만약 누적된 baro31 값이 31 이상이라면, 16행에서 "user가 이겼습니다"라는 문구를 출력하게 됩니다.

그리고 17행에서 break문이 실행되고 코드가 끝나게 됩니다.

 

 

 

9행과 15행에서 누적된 baro31 값이 31 이상이 아니라면 마지막 18행으로 가서 "총합"이라는 단어가 출력되며 baro31 누적 값이 나옵니다.

그리고 다시 6행으로 돌아가서 코드가 반복됩니다.

 

 

오늘도 VSCodeTERMINAL에서 py파일을 실행했습니다.

 

 

 

C:\Users\ATIV\Downloads\myworks>python .\baro31.py

숫자를 입력해 주세요.

3

com 숫자 1

총합 4

숫자를 입력해 주세요.

3

com 숫자 1

총합 8

숫자를 입력해 주세요.

3

com 숫자 2

총합 13

숫자를 입력해 주세요.

3

com 숫자 3

총합 19

숫자를 입력해 주세요.

3

com 숫자 3

총합 25

숫자를 입력해 주세요.

3

com 숫자 3

user가 이겼습니다

 

이 코드에서 핵심 키포인트는 결국 while문이 시작될 때, 두 번째 뭉텅이와 세 번째 뭉텅이가 동시에 실행된다는 점입니다.

두 번째 뭉텅이는 유저가 부르는 텀이고, 세 번째 뭉텅이는 컴퓨터가 부르는 텀입니다.

두 번째와 세 번째 코드 뭉텅이는 동시에 실행되며 baro31 누적 값이 31 이상이 되지 않는 한 18행으로 가서 "총합"을 출력한 후 다시 코드가 반복됩니다.

 

, 유저가 숫자를 부르고 그 숫자에 컴퓨터가 숫자를 누적해 부른다고 생각하면 됩니다.

우리도 게임할 때 3을 말하면 상대방이 6을 말해서 숫자를 불어나는 식으로 말입니다.

내 텀과 컴퓨터의 텀이 같이 돌아간다는 점만 인지한다면 코드를 따라 하는 것이 어렵지 않을 것 같습니다.

 

 

 

댓글