Не могу инициолизировать класс в Pygame
game.py:
import pygame
from params import *
from board import *
# инициализация Pygame
pygame.init()
# размер окна
WINDOW_SIZE = (820, 600)
# создание окна
screen = pygame.display.set_mode(WINDOW_SIZE)
# установка заголовка окна
pygame.display.set_caption("Шахматы, типо")
class Game(object):
patt = Board()
# функция рисования круга
def draw_circle(pos):
pygame.draw.circle(screen, RED, pos, 30)
# начальное положение круга
pos = (0, 0)
# игровой цикл
running = True
while running:
# обработка событий
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
# получение координат клика мыши
mouse_pos = pygame.mouse.get_pos()
# проверка, что клик был в пределах поля
if mouse_pos[0] < 800 and mouse_pos[1] < 600:
# получение координат клетки, в которую кликнули
x = mouse_pos[0] // CELL_SIZE
y = mouse_pos[1] // CELL_SIZE
pos = (x * CELL_SIZE + CELL_SIZE // 2, y * CELL_SIZE + CELL_SIZE // 2)
# отрисовка поля и круга
screen.fill(BLACK)
pattern.draw_board()
draw_circle(pos)
# обновление экрана
pygame.display.flip()
# завершение Pygame
pygame.quit()
board.py:
import pygame
from params import *
from game import *
class Board(object):
# функция рисования поля
def draw_board():
for x in range(0, 800, CELL_SIZE):
for y in range(0, 600, CELL_SIZE):
rect = pygame.Rect(x, y, CELL_SIZE, CELL_SIZE)
if (x // CELL_SIZE + y // CELL_SIZE) % 2 == 0:
pygame.draw.rect(screen, WHITE, rect)
else:
pygame.draw.rect(screen, GRAY, rect)
Выдёт ошибку:
NameError: name 'Board' is not defined
Источник: Stack Overflow на русском