거북이게임 목숨 추가

조회수 315회
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개정도로 추가하고 싶으면 어떻게해야할까요.

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)