2017-11-19 2 views

답변

0

많은 거북이를 만들려면 turtle.Turtle()을 사용할 수 있으며, 하나씩 작은 움직임을 만들기 위해 사용할 수 있습니다. 거북은 거의 동시에 움직일 것입니다.

import turtle 

t1 = turtle.Turtle() 
t2 = turtle.Turtle() 

for x in range(36): 
    # first turtle makes small move 
    t1.left(10) 
    t1.forward(10) 
    # second turtle makes small move 
    t2.right(10) 
    t2.forward(10) 

turtle.done() 

당신이
은 다음 작은 움직임을 만들기 위해 ontimer()를 사용할 수있는 모든 시간을 이동 (같은 시간에 다른 일을)를 선택합니다.

import turtle 

def move_t1(): 
    # first turtle makes small move 
    t1.left(10) 
    t1.forward(10) 

    # repeat after 100ms 
    turtle.ontimer(move_t1, 100) 

def move_t2(): 
    # second turtle makes small move 
    t2.right(10) 
    t2.forward(10) 

    # repeat after 100ms 
    turtle.ontimer(move_t2, 100) 

t1 = turtle.Turtle() 
t2 = turtle.Turtle() 

move_t1() # first turtle makes first move 
move_t2() # second turtle makes first move 

turtle.done() 
+0

을 사용할 수 있습니다. 문제는 내가 그들을 위해 클래스를 만들어야한다는 것입니다. 나는 나방을위한 수업을 만들고 빛을 찾고 빛의 위치를 ​​추적 할 필요가 있습니다. 그래서, 나방이 빛의 반경에 도달 할 때마다 그것은 죽습니다. 그럼 어떻게 할 수 있니? 나는 강제적으로 다음과 같은 기능을 가지고해야합니다 하는 방법에는 getPosition (자기) • 생성자 초기화 (자기,은 initialPosition) 방법 이동 • (자기, newPosition) 메소드 moveToLight • (자기, lightPosition) 을 – Reticent

+0

나는 세 번째 예를 GitHub [main-3.py] (https://github.com/furas/python-examples/blob/master/turtle/two-turtles-and-ontimer/main-3.py). 그것은 거북이를위한 수업을 사용합니다. 마우스 왼쪽 버튼을 사용하여 화면에 거북이를 추가하고 마우스 오른쪽 버튼을 사용하여 모든 거북이를 중지/시작하십시오. – furas

+0

클래스가 내 수업과 비슷해야합니다. '__init__'는 비슷할 것이고'getPosition'은 쉬워야합니다 -'t.position()'을 사용해야합니다. 'move()'와'moveToLight'에 대해서도 마찬가지로 유사해야하며 거북이를 움직이는데'ontimer'를 사용해야합니다. 또는 목적지 변수를 변수로 유지하고이 변수를 사용하여 거북이를 움직이는 다른 함수를 실행해야합니다. – furas