import turtle as t
import random
# 스크린 객체 생성
screen = t.Screen()
# 스크린 배경색 지정
screen.bgcolor("lightgreen")
# 울타리 그리기
mypen = t.Turtle()
mypen.penup()
mypen.setposition(-300, 300)
mypen.pendown()
mypen.pensize(3)
for x in range(4):
mypen.forward(600)
mypen.right(90)
mypen.hideturtle()
# Turtle 객체 p 생성
p = t.Turtle()
# p 객체의 모양을 거북이로 만들기
p.shape("turtle")
# p 객체 크기 설정
p.turtlesize(2, 2)
# p 객체 색상 설정,
p.color("blue")
# 거북이를 따라다니는 선을 제거
p.penup()
# 거북이의 움직임 속도 및 변수
p.speed = 1
score = 0
game_over = False
def turnleft():
p.left(30)
def turnright():
p.right(30)
def increasespeed():
global speed
speed += 1
def decreasespeed():
global speed
speed -= 1
def rand_pos():
x_cor = random.randint(-150, 150)
y_cor = random.randint(-150, 150)
return x_cor, y_cor
#점수 표시
t.goto(0, 350)
t.write(f"score: {score}", False, "center", ("", 20))
#먹이
food = t.Turtle()
food.ht()
food.shape("triangle")
food.up()
food.color("darkgreen")
food.setheading(90)
food.speed(0)
food.goto(rand_pos())
food.st()
#독초
p_herbs = t.Turtle()
p_herbs.ht()
p_herbs.shape("triangle")
p_herbs.up()
p_herbs.color("red")
p_herbs.setheading(90)
p_herbs.speed(0)
p_herbs.goto(rand_pos())
p_herbs.st()
screen.listen()
screen.onkey(turnleft, "Left")
screen.onkey(turnright, "Right")
screen.onkey(increasespeed, "Up")
screen.onkey(decreasespeed, "Down")
while not game_over:
p.forward(p.speed)
if p.xcor() > 360 or p.xcor() < -360 or p.ycor() > 360 or p.ycor() < -360:
p.right(180)
if p.distance(food) < 20:
food.goto(rand_pos())
p_herbs.goto(rand_pos())
p.speed += 0.1
score += 1
t.clear()
t.write(f"score: {score}", False, "center", ("", 20))
if p.distance(p_herbs) < 20:
game_over = True
t.goto(0, 0)
t.write("Game Over", False, "center", ("", 50))
while True:
p.forward(p.speed)
# 울타리 체크
if p.xcor() > 300 or p.xcor() < -300:
p.right(180)
if p.ycor() > 300 or p.ycor() < -300:
p.right(180)
여기서 독초를 먹으면 바로 게임오버가 되는데 여분의 목숨을 3개정도로 추가하고 싶으면 어떻게해야할까요.