Итак, моя программа работала до того, как я добавил операторы if в строки 27 и 42: if (currentTurtle == "") or (currentTurtle == "one"):
и if (currentTurtle == "") or (currentTurtle == "two"):
соответственно. До того, как я добавил эти проверки, черепахи двигались одновременно только в том случае, если они были действительно близко друг к другу, поскольку я использовал операторы if для проверки расстояния курсора до черепах. Я попытался добавить проверки в строки 27 и 42, чтобы перемещать их только по одной, но тогда мои черепашки перестали отвечать.
Вот мой код:
from turtle import Screen, Turtle
screen = Screen()
turt1 = Turtle("turtle")
turt2 = Turtle("turtle")
turt1.speed(0)
turt2.speed(0)
turt1.shape('circle')
turt2.shape('circle')
turt1.color('green')
turt2.color('blue')
turt1.penup()
turt1.goto(-100,100)
turt2.penup()
turt2.goto(100,-100)
currentTurtle = ""
def resetCurrent():
currentTurtle = ""
def dragging(x, y):
if (x <= turt1.xcor() + 10) and (x >= turt1.xcor() - 10):
if (y <= turt1.ycor() + 10) and (y >= turt1.ycor() - 10):
if (currentTurtle == "") or (currentTurtle == "one"):
currentTurtle = "one"
elif (currentTurtle == "one"):
currentTurtle == ""
elif (currentTurtle == "one"):
currentTurtle == ""
if currentTurtle == "one":
if (x <= turt1.xcor() + 10) and (x >= turt1.xcor() - 10):
if (y <= turt1.ycor() + 10) and (y >= turt1.ycor() - 10):
turt1.goto(x, y)
def dragging2(x, y):
if (x <= turt2.xcor() + 10) and (x >= turt2.xcor() - 10):
if (y <= turt2.ycor() + 10) and (y >= turt2.ycor() - 10):
if (currentTurtle == "") or (currentTurtle == "two"):
currentTurtle = "two"
elif (currentTurtle == "two"):
currentTurtle = ""
elif (currentTurtle == "two"):
currentTurtle = ""
if currentTurtle == "two":
if (x <= turt2.xcor() + 10) and (x >= turt2.xcor() - 10):
if (y <= turt2.ycor() + 10) and (y >= turt2.ycor() - 10):
turt2.goto(x, y)
def main(): # This will run the program
screen.listen()
turt1.ondrag(dragging)
turt2.ondrag(dragging2)
screen.mainloop() # This will continue running main()
main()
Любая помощь приветствуется!