Предмет: Информатика, автор: foxmary1305

СРОЧНО ДАМ 30 БАЛЛОВ Проект «Метелики» Створіть проект гри, коли виконавець-сачок рухається за вказівником миші та ловить метелика за допомогою клавіші пропуск. Метелик з'являється y випадковому місці лугу і, коли його накриває сачок, він зменшується у розмiрi та зникає. У цей час до змінної «Метелик» додається и бал.​


ostinfon: В скретче?
foxmary1305: да
Stephan2: Можу написати код для пайтона?

Ответы

Автор ответа: Stephan2
0

import turtle

import random

# налаштування екрану

screen = turtle.Screen()

screen.title("Метелики")

screen.bgcolor("green")

# створення сачка

sachok = turtle.Turtle()

sachok.shape("square")

sachok.color("black")

sachok.penup()

# налаштування розміру метелика

metelyk_size = 3

# створення функції для згенерування метелика

def create_metelyk():

   metelyk = turtle.Turtle()

   metelyk.shape("circle")

   metelyk.color("blue")

   metelyk.shapesize(metelyk_size)

   metelyk.penup()

   metelyk.goto(random.randint(-200, 200), random.randint(-200, 200))

   return metelyk

# налаштування кількості метеликів

num_metelyks = 10

# створення списку метеликів

metelyks = []

for i in range(num_metelyks):

   metelyk = create_metelyk()

   metelyks.append(metelyk)

# функція для руху сачка за мишкою

def move_sachok(x, y):

   sachok.goto(x, y)

# зв'язування функції з подією руху мишки

screen.onclick(move_sachok)

# функція для перевірки зіткнень метелика з сачком

def check_collision(metelyk, sachok):

   x_dist = abs(metelyk.xcor() - sachok.xcor())

   y_dist = abs(metelyk.ycor() - sachok.ycor())

   if x_dist < 20 and y_dist < 20:

       return True

   else:

       return False

# змінна для збереження балів

score = 0

# створення тексту для відображення балів

score_text = turtle.Turtle()

score_text.hideturtle()

score_text.penup()

score_text.goto(-200, 250)

score_text.write("Бали: {}".format(score), font=("Arial", 16, "normal"))

# основний цикл гри

while True:

   for metelyk in metelyks:

       # рух метелика

       metelyk.forward(3)

       # перевірка зіткнення з сачком

       if check_collision(metelyk, sachok):

           metelyk_size -= 1

           metelyk.shapesize(metelyk_size)

           metelyk.goto(random.randint(-200, 200), random.randint(-200, 200))

           score += 1

           score_text.clear()

           score_text.write("Бали: {}".format(score), font=("Arial", 16, "normal"))


Stephan2: код на питоне(якщо підійде)
foxmary1305: спасибо
Stephan2: можна лучшее пожалуйста?
Похожие вопросы
Предмет: Геометрия, автор: russkihroma79