Tipragot
628be439b8
Cela permet de ne pas avoir de problèmes de compatibilité car python est dans le git.
65 lines
1.6 KiB
Python
65 lines
1.6 KiB
Python
import pygame as pg
|
|
|
|
TITLE = "Grid"
|
|
TILES_HORIZONTAL = 10
|
|
TILES_VERTICAL = 10
|
|
TILE_SIZE = 80
|
|
WINDOW_WIDTH = 800
|
|
WINDOW_HEIGHT = 800
|
|
|
|
|
|
class Player:
|
|
def __init__(self, surface):
|
|
self.surface = surface
|
|
self.pos = (40, 40)
|
|
|
|
def draw(self):
|
|
pg.draw.circle(self.surface, (255, 255, 255), self.pos, 40)
|
|
|
|
def move(self, target):
|
|
x = (80 * (target[0] // 80)) + 40
|
|
y = (80 * (target[1] // 80)) + 40
|
|
|
|
self.pos = (x, y)
|
|
|
|
|
|
class Game:
|
|
def __init__(self):
|
|
pg.init()
|
|
self.clock = pg.time.Clock()
|
|
pg.display.set_caption(TITLE)
|
|
self.surface = pg.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
|
|
self.loop = True
|
|
self.player = Player(self.surface)
|
|
|
|
def main(self):
|
|
while self.loop:
|
|
self.grid_loop()
|
|
pg.quit()
|
|
|
|
def grid_loop(self):
|
|
self.surface.fill((0, 0, 0))
|
|
for row in range(TILES_HORIZONTAL):
|
|
for col in range(row % 2, TILES_HORIZONTAL, 2):
|
|
pg.draw.rect(
|
|
self.surface,
|
|
(40, 40, 40),
|
|
(row * TILE_SIZE, col * TILE_SIZE, TILE_SIZE, TILE_SIZE),
|
|
)
|
|
self.player.draw()
|
|
for event in pg.event.get():
|
|
if event.type == pg.QUIT:
|
|
self.loop = False
|
|
elif event.type == pg.KEYDOWN:
|
|
if event.key == pg.K_ESCAPE:
|
|
self.loop = False
|
|
elif event.type == pg.MOUSEBUTTONUP:
|
|
pos = pg.mouse.get_pos()
|
|
self.player.move(pos)
|
|
pg.display.update()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
mygame = Game()
|
|
mygame.main()
|