고차함수란?
함수내부에 다른 함수를 사용하는것을 의미한다.
onkey 내부에 다른 함수를 입력하여 키 반응을 얻을 수 있다.
from turtle import Turtle, Screen
turtle = Turtle()
screen = Screen()
def move_forward() :
turtle.forward(30)
def move_backward() :
turtle.backward(30)
def clock_wise() :
turtle.right(10)
def counter_clock_wise() :
turtle.left(10)
def clear() :
turtle.clear()
turtle.penup()
turtle.home()
turtle.pendown()
screen.listen()
screen.onkey(fun=move_forward, key="w")
screen.onkey(fun=move_backward, key="s")
screen.onkey(fun=clock_wise, key="d")
screen.onkey(fun=counter_clock_wise, key="a")
screen.onkey(fun=clear, key="c")
screen.exitonclick()
import random
from turtle import Turtle, Screen
screen = Screen()
screen.setup(500,400)
user_bet = screen.textinput(title="배팅을 시작합시다", prompt="누가 이길까요? 색상을 선택해주세요 > ")
colors = ["red","yellow","green","blue","purple","orange"]
y_position = [-125,-75,-25,25,75,125]
all_turtles = []
is_race_on = False
for n in range(6) :
new_turtle = Turtle("turtle")
new_turtle.color(colors[n])
new_turtle.penup()
new_turtle.goto(-210,y_position[n])
all_turtles.append(new_turtle)
if user_bet :
is_race_on = True
while is_race_on :
for turtle in all_turtles :
if turtle.xcor() > 230 :
is_race_on = False
winning_color = turtle.pencolor()
if winning_color == user_bet :
print(f"승리했어요 우승 색상 : {winning_color}")
else :
print(f"패배했어요 우승 색상 : {winning_color}")
random_distance = random.randint(0,10)
turtle.forward(random_distance)
screen.exitonclick()