# Перевірка на помилкиcheck_errors = pygame.init()# pygame.init() example output -> (6, 0)# друге число в кортежі дає кількість помилокif check_errors[1] > 0: print(f'[!] Had {check_errors[1]} помилка ініціалізації гри, вихід...') sys.exit(-1)else: print('[+] Гра успішно ініціалізована')Ініціалізація гри
# Iніціалізація вікна гриpygame.display.set_caption(‘Змійка')game_window = pygame.display.set_mode((frame_size_x, frame_size_y))# Кoльори (R, G, B)black = pygame. Color(0, 0, 0)white = pygame. Color(255, 255, 255)red = pygame. Color(255, 0, 0)green = pygame. Color(0, 255, 0)blue = pygame. Color(0, 0, 255)Ініціалізація гри (провження)
# FPS (кадрів за секунду) контролерfps_controller = pygame.time. Clock()# Змінніsnake_pos = [100, 50]snake_body = [[100, 50], [100-10, 50], [100-(2*10), 50]]food_pos = [random.randrange(1, (frame_size_x//10)) * 10, random.randrange(1, (frame_size_y//10)) * 10]food_spawn = Truedirection = 'RIGHT'change_to = directionscore = 0 Змінні програми. Рахунок гри
# Змія не може рухатися в протилежному напрямку if change_to == 'UP' and direction != 'DOWN': direction = 'UP' if change_to == 'DOWN' and direction != 'UP': direction = 'DOWN' if change_to == 'LEFT' and direction != 'RIGHT': direction = 'LEFT' if change_to == 'RIGHT' and direction != 'LEFT': direction = 'RIGHT'Напрямок руху
# GFX game_window.fill(black) for pos in snake_body: # Тіло змії # .draw.rect(play_surface, color, xy-coordinate) # xy-coordinate -> . Rect(x, y, size_x, size_y) pygame.draw.rect(game_window, green, pygame. Rect(pos[0], pos[1], 10, 10)) # Їжа pygame.draw.rect(game_window, white, pygame. Rect(food_pos[0], food_pos[1], 10, 10))Малювання змії та їжі
# Кінець гри # Вихід за межі if snake_pos[0] < 0 or snake_pos[0] > frame_size_x-10: game_over() if snake_pos[1] < 0 or snake_pos[1] > frame_size_y-10: game_over() # Toркання тіла змії for block in snake_body[1:]: if snake_pos[0] == block[0] and snake_pos[1] == block[1]: game_over()Кінець гри