파이썬 터틀런 응용

조회수 2073회

제가 터틀런 응용을 하려고 하는데 악당 거북이를 2마리로 하고 제가 먹이를 먹으면 악당 거북이가 1초동안 멈췄다가 다시 출발하도록 하고 싶은데 어떻게 해야하나요?? 악당 거북이를 2마리로 하는건 성공했는데 1초 멈추는건 너무 힘들어서 여쭤보러 왔습니다ㅜㅜ 코드는 여기까지 짜봤습니다. 먹이를 먹었을 때 부분에 넣으면 될듯한데 1초동안 악당 거북이만 멈춘다는게 감이 안잡히네요... import turtle as t import random

score = 0 # 점수를 저장하는 변수 playing = False # 현재 게임이 플레이 중인지 확인하는 변수

te = t.Turtle() # 악당 거북이(빨간색)) te.shape("turtle") te.color("red") te.speed(0) te.up() te.goto(0, 200)

te1 = t.Turtle() # 악당 거북이(빨간색)) te1.shape("turtle") te1.color("blue") te1.speed(0) te1.up() te1.goto(100, 150)

ts = t.Turtle() # 먹이(초록색 동그라미) ts.shape("circle") ts.color("green") ts.speed(0) ts.up() ts.goto(0, -200)

def turn_right(): # 오른쪽으로 방향 전환 t.setheading(0)

def turn_up(): # 위쪽으로 방향 전환 t.setheading(90)

def turn_left(): # 왼쪽으로 방향 전환 t.setheading(180)

def turn_down(): # 아래쪽으로 방향 전환 t.setheading(270)

def start(): # 게임을 시작하는 함수 global playing if playing == False: playing = True t.clear() # 화면에 메시지를 지운다 play()

def play(): # 게임을 실제로 플레이하는 함수 global score global playing

t.forward(10) # 주인공 10만큼 앞으로 이동

if random.randint(1, 5) == 3: # 20% 확률로
    ang = te.towards(t.pos()) # 악당과 주인공 사이 각도계산
    ang2 = te1.towards(t.pos()) # 악당과 주인공 사이 각도계산
    te.setheading(ang) # 주인공 거북을 향해 전환
    te1.setheading(ang2) # 주인공 거북을 향해 전환

speed = score + 5 # 점수에 5를 더한 속도를 설정

if speed > 15: # 속도를 15 이하로 조정함
    speed = 15

te.forward(speed)
te1.forward(speed)

if t.distance(te) < 12: # 악당의 거리가 12보다 작으면
    text = "Score : " + str(score) # 게임을 종료합니다.
    message("Game Over", text)
    playing = False
    score = 0

if t.distance(te1) < 12: # 악당의 거리가 12보다 작으면
    text = "Score : " + str(score) # 게임을 종료합니다.
    message("Game Over", text)
    playing = False
    score = 0

if t.distance(ts) < 12: # 먹이의 거리가 12보다 작으면
    score = score + 1 # 점수를 올리고
    t.write(score) # 화면에 점수를 출력 합니다.
    start_x = random.randint(-230, 230)
    start_y = random.randint(-230, 230)
    ts.goto(start_x, start_y)

if playing: # 게임 플레이 중이면
    t.ontimer(play, 100) # 0.1초 후 play 함수 실행

def message(m1, m2): # 메시지를 화면에 표시하는 함수 t.clear() t.goto(0, 100) t.write(m1, False, "center", ("", 20)) t.goto(0, -100) t.write(m2, False, "center", ("", 15)) t.home()

t.title("Turtle Run") t.setup(500, 500) t.bgcolor("orange") t.shape("turtle") t.speed(0) t.up() t.color("white") t.onkeypress(turn_right, "Right") t.onkeypress(turn_up, "Up") t.onkeypress(turn_left, "Left") t.onkeypress(turn_down, "Down") t.onkeypress(start, "space")

t.listen() message("Turtle Run", "[Space]") t.mainloop()

  • (•́ ✖ •̀)
    알 수 없는 사용자

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

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

(ಠ_ಠ)
(ಠ‿ಠ)