
Порграмирование в Python Создать канву модуле tkinter , на нее поместить шарик и
прямоугольник.Шарик будет двигаться самостоятельно, меняя направление движения каждые 5 секунд случайным образомДвижение прямоугольника управляется пользователем с клавиатуры кнопками например стрелками.В начале работы шарик помещается в центр канвы. порграмирование в Python

Ответы на вопрос

Ответ:
from tkinter import *
import random
import time
def move(event):
if event.keysym == 'Up':
canvas.move(p, 0, -3)
elif event.keysym == 'Down':
canvas.move(p, 0, 3)
elif event.keysym == 'Left':
canvas.move(p, -3, 0)
elif event.keysym == 'Right':
canvas.move(p, 3, 0)
def mainloop():
while 1:
canvas.move(c, random.randint(-6, 6), random.randint(-6, 6))
tk.update_idletasks()
tk.update()
time.sleep(0.01)
colors=['black', 'white', 'red', 'yellow', 'blue', 'purple']
tk=Tk()
tk.geometry('400x400')
canvas=Canvas (tk, width=400, height=400)
canvas.pack(fill='both', expand=True)
p=canvas.create_rectangle(10, 10, 70, 150, fill=random.choice(colors), outline=random.choice(colors))
c=canvas.create_oval(190, 190, 210, 210, fill=random.choice(colors), outline=random.choice(colors))
canvas.bind_all('<KeyPress-Up>', move)
canvas.bind_all('<KeyPress-Down>', move)
canvas.bind_all('<KeyPress-Left>', move)
canvas.bind_all('<KeyPress-Right>', move)
mainloop()
Объяснение:



Вот пример программы на Python, которая создает канву в модуле tkinter, помещает на нее шарик и прямоугольник, и обрабатывает движение шарика и прямоугольника:
pythonimport tkinter as tk
import random
# Создаем глобальные переменные для хранения координат шарика
ball_x = 0
ball_y = 0
def move_ball(canvas):
global ball_x, ball_y
# Генерируем случайное направление движения шарика
direction = random.choice([-1, 1])
# Изменяем координаты шарика в соответствии с направлением
ball_x += direction * 10
ball_y += direction * 10
# Обновляем положение шарика на канве
canvas.coords(ball, ball_x, ball_y, ball_x + 30, ball_y + 30)
# Вызываем эту же функцию через 5 секунд
canvas.after(5000, move_ball, canvas)
def move_rectangle(event):
# Обрабатываем нажатие клавиш стрелок
if event.keysym == 'Up':
canvas.move(rectangle, 0, -10)
elif event.keysym == 'Down':
canvas.move(rectangle, 0, 10)
elif event.keysym == 'Left':
canvas.move(rectangle, -10, 0)
elif event.keysym == 'Right':
canvas.move(rectangle, 10, 0)
# Создаем окно приложения
root = tk.Tk()
root.title("Игра с шариком и прямоугольником")
# Создаем канву
canvas = tk.Canvas(root, width=400, height=400)
canvas.pack()
# Создаем шарик
ball = canvas.create_oval(185, 185, 215, 215, fill="red")
# Создаем прямоугольник
rectangle = canvas.create_rectangle(100, 100, 150, 150, fill="blue")
# Помещаем шарик в центр канвы
ball_x = (canvas.winfo_width() - 30) // 2
ball_y = (canvas.winfo_height() - 30) // 2
canvas.coords(ball, ball_x, ball_y, ball_x + 30, ball_y + 30)
# Привязываем обработку движения прямоугольника к нажатию клавиш
canvas.bind_all('<KeyPress>', move_rectangle)
# Запускаем движение шарика
canvas.after(5000, move_ball, canvas)
# Запускаем главный цикл приложения
root.mainloop()
Эта программа создает окно с канвой размером 400x400 пикселей, на которой отображаются шарик и прямоугольник. Шарик двигается самостоятельно, меняя направление каждые 5 секунд. При нажатии клавиш стрелок пользователь может управлять движением прямоугольника. Шарик помещается в центр канвы при запуске программы.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili