Изменение цвета черепах при столкновении в python - PullRequest
0 голосов
/ 26 марта 2020

Попытка изменить цвет одной черепахи, когда она сталкивается с другой. Что я хочу: Нидас (одиночная черепаха) сталкивается с зеленым, краснеет. Красный | Зеленый столкновение >> Зеленый становится красным. Красный | Красный или Зеленый | Зеленый не действует. Происходит следующее: столкновение Nidas | Green становится красным (как и предполагалось), а столкновение Red | Green становится красным на зеленый. Как я испортил оператор if,

for ball in balls:
    ball.sety(ball.ycor() + ball.dy)
    ball.setx(ball.xcor() + ball.dx)
    for other_ball in balls:
        if (other_ball is ball):
            # We are not interested in balls colliding with themselves.
            # Skip the current iteration of the inner for-loop, and move on to the next ball
            continue
        if is_collided_with(other_ball, nidas):
            other_ball.color("red")
        if (
                is_collided_with(ball, other_ball) and
                other_ball.color("green") and
                ball.color("red")
            ):
            other_ball.color("red")

1 Ответ

0 голосов
/ 27 марта 2020

разобрался с решением;

for ball in balls:
        ball.sety(ball.ycor() + ball.dy)
        ball.setx(ball.xcor() + ball.dx)
        for other_ball in balls:
            if (other_ball is ball):
                # We are not interested in balls colliding with themselves.
                # Skip the current iteration of the inner for-loop, and move on to the next ball
                continue

            if is_collided_with(other_ball, ball) and (ball.color()!=other_ball.color()):
                ball.color("red")

            elif is_collided_with(ball, nidas):
                ball.color("red")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...