Вопрос задан 07.07.2023 в 21:57. Предмет Информатика. Спрашивает Диброва Жасмина.

Порграмирование в Python Создать канву модуле tkinter , на нее поместить шарик и

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мурлин Даниил.

Ответ:

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()

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на Python, которая создает канву в модуле tkinter, помещает на нее шарик и прямоугольник, и обрабатывает движение шарика и прямоугольника:

python
import 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 секунд. При нажатии клавиш стрелок пользователь может управлять движением прямоугольника. Шарик помещается в центр канвы при запуске программы.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос