1
Вопрос:
1. Подключи модули turtle, time, random. 2. Создай три черепашки. Настрой их свойства...
Ответ ассистента
Для выполнения этого задания на языке Python с использованием библиотеки `turtle`, следуй этой структуре кода:
```python
import turtle
import time
import random
# 1. Подключение модулей (уже сделано выше)
# 2. Создание и настройка трех черепашек
t1 = turtle.Turtle()
t1.shape("turtle")
t1.color("red")
t1.penup()
t1.goto(-100, 0)
t2 = turtle.Turtle()
t2.shape("circle")
t2.color("blue")
t2.penup()
t2.goto(0, 0)
t3 = turtle.Turtle()
t3.shape("square")
t3.color("green")
t3.penup()
t3.goto(100, 0)
turtles = [t1, t2, t3]
# 4. Функции-обработчики (разные реакции)
def action1(x, y):
t1.right(45)
t1.forward(random.randint(20, 50))
def action2(x, y):
t2.circle(30)
t2.goto(random.randint(-200, 200), random.randint(-200, 200))
def action3(x, y):
t3.setheading(random.randint(0, 360))
t3.forward(100)
# 3. Подписка на событие клика
t1.onclick(action1)
t2.onclick(action2)
t3.onclick(action3)
# 5. Функция проверки выхода за границы экрана
def gameFinished():
# Границы стандартного окна turtle обычно +/- 350-400 пикселей
limit = 300
for t in turtles:
if abs(t.xcor()) > limit or abs(t.ycor()) > limit:
return True
return False
# 6. Основной цикл игры
running = True
while running:
# Чтобы программа не зависала и реагировала на клики
turtle.update()
if gameFinished():
print("Good Bye!") # Бонус-задача 1
running = False
time.sleep(0.1)
turtle.done()
```
### Разбор ключевых моментов:
- **`onclick`**: Метод привязывает функцию к черепашке. Важно, чтобы функция принимала два аргумента `(x, y)` — координаты клика.
- **`gameFinished()`**: Проверяет текущие координаты `xcor()` и `ycor()` каждой черепашки. Если модуль (значение без знака) координаты больше лимита, игра заканчивается.
- **Цикл `while`**: Постоянно проверяет условие окончания. Как только `gameFinished()` вернет `True`, цикл прекратится.
Другие решения
Что ещё задавали пользователи
-
Разгадай кроссворд.
Показать ответ -
1. Вычисли: а) 21 * 35 - 28,6 + 5 * 10,2 б) (2^3 + 2^0 + 2) * 14
Показать ответ -
Разгадай кроссворд.
Показать ответ -
Проверь и оцени работу Ученика по теме «Сравнение десятичных дробей».
Показать ответ -
Сократи: (121m^2 - 1) / (121m^2 - 22m + 1)
Показать ответ -
Разгадай кроссворд.
Показать ответ -
48. (208896 : 68 - 2864) * 35 + 7077. 50. (5080 * 604 - 432 * 7002 + 200) : 107.
Показать ответ -
Представь в виде произведения z^12t^24 - 1.
Показать ответ -
4. Запиши все множества, равные множеству C = {2, O, a}:
Показать ответ -
965. Докажите, что значение выражения: а) 83^4 + 65 кратно 81; б) 141^10 + 88 кратно 139.
Показать ответ