Turtle race

NameError·2022년 8월 31일
0

Turtle race

유데미에서 유명한 Angela Yu의 파이썬 웹프로그래밍 100일 과정의 19일차에 있는 거북이 달리기 게임

100일이고 앞부분은 쉬운 내용이 많다 보니 우습게 생각하기 쉬운데
10일차만 돼도 객체지향을 꽤 다루기 시작해서 따라 하기가 녹록치 않다 보니 1시간짜리 한 강을 하루종일 붙잡고 놀(?) 수 있다

특히 단순히 따라하지 않고 챌린지가 나오면 강의를 들어보지 않고 강의를 멈추고 직접 해보느라 배우지 않았거나 까먹은 개념까지 일일이 검색해보다 보면 시간이 정말 빨리 간다

유료 강의(자주 세일을 하기 때문에 대부분 만원대에 구입했을 것이다) 내용이지만 100개 중 하나만 이렇게 올리는 건 괜찮겠지?

I've learned a lot from your lecture. Thanks a lot, Angela! :)

이것은 파이썬의 turtle 패키지를 이용해 그림을 그리는 대신 랜덤 정수 값만큼 거북이가 혼자 움직이게 해서 일곱 빛깔 무지개 색깔의 거북이들을 경쟁시키는 게임 화면을 구현하는 것이다

알아서 랜덤으로 달리는데 게임 요소가 어딨냐고? 시작할 때 누가 이기는지에 베팅할 수 있다

끝나면 어느 색깔 거북이가 이겼고 니가 이겼고 졌고를 화면에 띄워주는데 거기까진 화면 녹화가 되지 않아서...
경기 결과

터틀을 실제로 실용적인 프로그램을 만드는 데 사용하는 사람은 별로 없겠지만 객체에 담긴 여러가지 인스턴스를 호출해서 활용하는 방법을 연습해보는 데 좋은 공부가 되는 것 같다

from turtle import Turtle,Screen
import random

screen = Screen()
screen.title="Turtle race!"
screen.setup(width=500,height=400)
is_race_on = False
user_bet = screen.textinput(title="Make your bet",prompt = "Which turtle will win? Choose a color:")

color=['red','orange','yellow','green','blue','indigo','purple']
turtleidx=[]
for idx in range(0,7):
    tt = Turtle(shape="turtle")
    tt.color(color[idx])
    tt.penup()
    tt.goto(-230,150-50*idx)
    turtleidx.append(tt)
if user_bet:
    is_race_on = True
    
while is_race_on:
    for t in turtleidx:
        t.forward(random.randint(1,10))
        if t.position()[0]>=240:
            winner=t.color()[1]
            is_race_on=False
            #break

#for idx in range(0,7): 
#    if turtleidx[idx].position()[0]>=240:
#        winner = idx
#print(f"The winner is {color[winner]} turtle!")
print(f"The winner is {winner} turtle!")
if winner==user_bet:
    print("You won!")
    screen.textinput(title=f"The winner is...",prompt=f"{winner} turtle! You won!")
else:
    print("You lost!")
    screen.textinput(title=f"The winner is...",prompt=f"{winner} turtle! You lost!")
        
screen.exitonclick()


Angela Yu가 감미로운(?) 목소리로 Pause the video and start the challenge! 할 때 살짝 약오르는 기분이 들면서도 모르거나 잊어버렸던 내용을 다시 스스로 공부해보는 재미가 있고 거기에 중독(?)되는 것 같다

근데 이 유데미 강의를 언제 샀는데 지금 19일차를 아직 붙잡고 있냐...
파이썬은 시작은 쉽고 직관적이어도 뭔가 본격적으로 해보려면 녹록치 않아서 돌아서면 잊어버리고 또 잊어버리고... ㅋㅋㅋ

profile
매일 공부하며 살고 있구나

0개의 댓글