반응형
랜덤으로 동전을 던겨 결과를 확인하는 동전 던지기 게임 프로그램을 작성해보자.
import turtle
import random
screen = turtle.Screen()
front = "front.gif"
back = "back.gif"
screen.addshape(front)
screen.addshape(back)
t1=turtle.Turtle()
coin = random.randint(0,1)
if coin == 0:
t1.shape(front)
t1.stamp()
else:
t1.shape(back)
t1.stamp()
사용자가 동전의 앞/뒷면을 맞추는 프로그램을 작성해보자.
동전은 3개가 출력되고, 3개 중 두개 이상의 면과 사용자의 입력이 일치하면 성공, 틀리면 실패를 출력함
import turtle,random
scr1 = turtle.Screen() #scr1 객체를 생성한다.(캔버스를 의미함)
s=turtle.textinput("","동전이 앞인가요? 뒤인가요?(앞/뒤 중 입력하세요)")
front="front.gif"
back="back.gif"
scr1.addshape(front) #경로와 확장자를 포함한 이미지파일문자열을 shape으로 추가해 거북이 모양을 이미지로 사용할 수 있게 한다.
scr1.addshape(back)
t1 = turtle.Turtle()
coin1 = random.randint(0,1) #0은 동전의 앞면, 1은 동전의 뒷면을 의미한다.
t1.up() #turtle이 움직일 때 선을 그리지 않도록 펜을 들어주는 역할을 한다.
if (s!='앞' or s!='뒤'):
t1.goto(0,0)
t1.write("잘못 입력되었습니다.", False, "center", ("", 25, "bold"))
if (s=='앞' or s=='뒤'):
t1.clear()
t1.goto(-150,0)
coin1 = random.randint(0,1)
if coin1 == 0:
t1.shape(front) #해당 이미지 파일 문자열로 모양을 설정한다.
else:
t1.shape(back)
t1.stamp() #화면에 동전 이미지를 남기기 위해서 사용한다.
t1.goto(150,0)
coin2 = random.randint(0,1)
if coin2 == 0:
t1.shape(front)
else:
t1.shape(back)
t1.stamp()
t1.goto(450,0)
coin3 = random.randint(0,1)
if coin3 == 0:
t1.shape(front)
else:
t1.shape(back)
t1.stamp()
t1.hideturtle() # 성공, 실패, 잘못 입력됨 결과값을 알려줄 때 turtle 포인터를 제거하기 위해 사용한다.
t1.goto(0,300)
if s=='앞':
if (coin1 == 0 and coin2 == 0 and coin3 == 1) or (coin1 == 0 and coin2 == 1 and coin3 == 0) or (coin1 == 1 and coin2 == 0 and coin3 == 0) or (coin1 == 0 and coin2 == 0 and coin3 == 0):
t1.write("성공", False, "center", ("", 25, "bold"))
else:
t1.write("실패", False, "center", ("", 25, "bold"))
elif s=='뒤':
if (coin1 == 1 and coin2 == 1 and coin3 == 0) or (coin1 == 1 and coin2 == 0 and coin3 == 1) or (coin1 == 0 and coin2 == 1 and coin3 == 1) or (coin1 == 1 and coin2 == 1 and coin3 == 1):
t1.write("성공", False, "center", ("", 25, "bold"))
else:
t1.write("실패", False, "center", ("", 25, "bold"))
▶ 이미지 경로
→ 절대 경로 : d:\\사진명.gif(확장자)
→ 상대 경로 : 폴더명/사진명.gif(확장자)
★ 위 코드에서 사진명.gif만 적어둔 이유는 코드가 저장된 곳과 사진이 저장된 폴더가 일치하기 때문 ★
▶ .Screen() : 터틀 그래픽이 그림을 그릴 수 있는 캔버스를 의미
▶ .addshape() : 경로와 확장자를 포함한 이미지파일문자열을 shape으로 추가
▶ .stamp() : 화면에 이미지를 사라지지 않고 남겨둠
▶ .hideturtle() : turtle포인터를 제거
▶.write("출력 글자", 그래픽 움직임 유/무, "글씨 위치", ("글꼴", 글씨 크기, "글씨 효과"))
→ 그래픽 움직임 유/무 : true 입력시 메시지를 출력하고 그래픽이 움직임, false 입력시 그래픽이 움직이지 않음
→ 글씨 위치 : center, right, left
→ 글꼴 : Arial, Consolas, 궁서체 등등
→ 글씨 크기 : 숫자로 변경
→ 글씨 효과 : bold, italic, underline 등등
동전 2개를 던져 같은 면이 나오면 '성공' 다른 면이 나오면 '실패'를 상단에 출력하는 프로그램을 작성해보자.
import turtle, random
scr1=turtle.Screen()
front="front.gif"
back="back.gif"
scr1.addshape(front)
scr1.addshape(back)
t1=turtle.Turtle()
coin1=random.randint(0,1) #0은 앞면, 1은 뒷면
t1.up() #turtle이 움직일 때 선을 그리지 않도록 하기 위함
t1.goto(-150,0)
if coin1 == 0:
t1.shape(front)
else:
t1.shape(back)
t1.stamp() #화면에 동전 이미지를 남기기 위해 사용
t1.goto(150,0)
coin2=random.randint(0,1)
if coin2 == 0:
t1.shape(front)
else:
t1.shape(back)
t1.stamp()
t1.hideturtle()
t1.goto(0,150)
if coin1 == coin2:
t1.write("성공", False, "center", ("",20,"bold"))
else:
t1.write("실패", False, "center", ("",20,"bold"))
반응형
'Language > Python' 카테고리의 다른 글
[ Python ] 윤년 판단 프로그램 (0) | 2021.08.26 |
---|---|
[ Python ] 전기회로 프로그램 (0) | 2021.08.26 |
[ Python ] 주민번호 뒷자리 의미 파악 프로그램 (0) | 2021.08.26 |
[ Python ] 정수의 종류를 판별하는 스마트 터틀 프로그램 (0) | 2021.08.26 |
[ Python ] 직각 삼각형 프로그램 (0) | 2021.08.26 |