1

Тема: Жабо гра

Здоров, не знаю,як правильно додати в гру меню з двома кнопками: "Старт" та "Вихід" для початку та завершення гри.А ще чомусь в мене їздить лише дві машини,я їх легко обхожу,все кінець гри виграв..Хотілось би ще рівнів

"import pygame
import random
# ініціалізувати Pygame
pygame.init()
# задати розмір вікна гри
win_width = 800
win_height = 600
# створити вікно гри
win = pygame.display.set_mode((win_width, win_height))
# задати заголовок вікна гри
pygame.display.set_caption("Frogger")
# задати шрифт для виведення тексту на екран
font = pygame.font.SysFont("comicsansms", 32)
# завантажити зображення жабки та автомобілів
frog_img = pygame.image.load("frog.png")
car_img = pygame.image.load("car.png")
# задати початкові координати жабки
frog_x = win_width // 2 - frog_img.get_width() // 2
frog_y = win_height - frog_img.get_height()
# задати початкові координати автомобілів
car_x = [-100, win_width + 100]
car_y = [100, win_height - 200]
car_speed = [5, -5]
# функція для малювання жабки та автомобілів
def draw():
# очистити екран
win.fill((0, 0, 0))
# малювати жабку
win.blit(frog_img, (frog_x, frog_y))
# малювати автомобілі
for i in range(len(car_x)):
win.blit(car_img, (car_x[i], car_y[i]))
# вивести очки на екран
score_text = font.render("Score: " + str(score), True, (255,
255, 255))
win.blit(score_text, (10, 10))
# оновити екран
pygame.display.update()
# початкові налаштування гри
score = 0
game_over = False
# головний цикл гри
while not game_over:
# обробити події від користувача
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
frog_x -= frog_img.get_width()
elif event.key == pygame.K_RIGHT:
frog_x += frog_img.get_width()
elif event.key == pygame.K_UP:
frog_y -= frog_img.get_height()
elif event.key == pygame.K_DOWN:
frog_y += frog_img.get_height()
# рухати автомобілі
for i in range(len(car_x)):
car_x[i] += car_speed[i]
car_x[i] = -100 if car_x[i] <= -100 else car_x[i]
# перевірити, чи зіткнувся користувач з автомобілем
if (frog_x + frog_img.get_width() > car_x[i] and
frog_x < car_x[i] + car_img.get_width() and
frog_y + frog_img.get_height() > car_y[i] and
frog_y < car_y[i] + car_img.get_height()):
game_over = True
# перевірити, чи жабка дійшла до кінця
if frog_y < 0:
score += 1
frog_x = win_width // 2 - frog_img.get_width() // 2
frog_y = win_height - frog_img.get_height()
car_speed = [random.randint(3, 7), random.randint(-7, -3)]
car_y = [random.randint(50, 150), random.randint(win_height
- 250, win_height - 150)]
# малювати елементи гри
draw()
# якщо гравець програв, вивести повідомлення та очки на екран
score_text = font.render("Final Score: " + str(score), True, (255,
255, 255))
win.blit(score_text, (win_width // 2 - score_text.get_width() //
2, win_height // 2 - score_text.get_height() // 2))
pygame.display.update()
# зачекати 3 секунди перед закриттям вікна
pygame.time.wait(3000)
# закрити вікно гри та завершити Pygame
pygame.quit()"

2

Re: Жабо гра

Ви зайві лапки додали і відступи повбивалися, тому складно щось про код сказати; але в будь-якому разі вам треба створити прямокутник (щоб показати "кнопку" користувачеві) і відстежувати натискання кнопки миші; якщо натискання відбулося в прямокутнику - обробляєте подію.