OC: Windows 10
Python: 3.9.7
--------------------------------
pygame
os
sys
-------------------------------
хочу сделать свою первую игру на pygame
игра "найди две похожие карты"
набросал код
ошибка на строчке #100
спрайты в лажаться в папку data
сами спрайты в закрепе
Python: 3.9.7
--------------------------------
pygame
os
sys
-------------------------------
хочу сделать свою первую игру на pygame
игра "найди две похожие карты"
набросал код
Python:
import os
import sys
import pygame
# создание игрового поля
class Board:
def __init__(self):
self.width = 4
self.height = 3
self.board = [[0] * self.width for _ in range(self.height)]
self.side = 10
self.top = 10
self.cell_size = 30
def set_view(self, side, top, cell_size):
self.side = side
self.top = top
self.cell_size = cell_size
def render(self, screen):
y = self.top
for i in self.board:
x = self.side
for j in i:
width = 1 if j == 0 else 0
pygame.draw.rect(screen, "white", ((x, y), (self.cell_size, self.cell_size)), width)
x += self.cell_size
y += self.cell_size
def get_click(self, mouse_pos):
cell = self.get_cell(mouse_pos)
if cell:
self.on_click(cell)
return
print(None)
def get_cell(self, mouse_pos):
x = (mouse_pos[0] - self.side) // self.cell_size
y = (mouse_pos[1] - self.top) // self.cell_size
if x > self.width - 1 or y > self.height - 1 or x < 0 or y < 0:
return None
print((x, y))
return x, y
def on_click(self, cell):
pass
# загрузка спрайтов
def load_image(name, colorkey=None):
fullname = os.path.join('data', name)
# если файл не существует, то выходим
if not os.path.isfile(fullname):
print(f"Файл с изображением '{fullname}' не найден")
sys.exit()
image = pygame.image.load(fullname)
return image
# создадим группу, содержащую все спрайты
def render_sprite(name):
all_sprites = pygame.sprite.Group()
# создадим спрайт
sprite = pygame.sprite.Sprite()
# определим его вид
sprite.image = load_image(f"{name}.png")
# и размеры
sprite.rect = sprite.image.get_rect()
# добавим спрайт в группу
all_sprites.add(sprite)
sprite.rect.x = 100
sprite.rect.y = 100
pygame.init()
SIZE_WINDOW = W, H = 640, 480
FPS = 15
screen = pygame.display.set_mode(SIZE_WINDOW)
screen.fill("black")
clock = pygame.time.Clock()
board = Board()
board.set_view(60, 70, 130)
burger = render_sprite(name="бургер")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.MOUSEBUTTONDOWN:
board.get_click(event.pos)
screen.fill("black")
burger.all_sprites.draw(screen)
board.render(screen)
pygame.display.flip()
clock.tick(FPS)
pygame.quit()
ошибка на строчке #100
спрайты в лажаться в папку data
сами спрайты в закрепе