simulateur-robot-arduino/simulateur.py
2022-11-22 22:33:17 +01:00

41 lines
1.0 KiB
Python

from robot import Robot
from parser import aip_parser
from subprocess import Popen, PIPE
from math import degrees
import sys, pygame
from pygame.locals import *
pygame.init()
size = width, height = 1000, 300
black = 0, 0, 0
screen = pygame.display.set_mode(size)
r = Robot(1/60)
ard_process = Popen(["build/app"], stdin=PIPE, stdout=PIPE);
parser = aip_parser(ard_process.stdout, r);
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == K_q:
sys.exit()
while(parser.poll()):
pass
screen.fill(black)
r.update()
robotShape = pygame.Rect(0,0, 10,20);
rsurf = pygame.Surface((10,20)).convert_alpha();
pygame.draw.rect(rsurf, (255,255,255), robotShape);
rsurf_r = pygame.transform.rotate(rsurf, degrees(r.rot));
center = rsurf_r.get_rect().center
screen.blit(rsurf_r, (r.pos[0]*100-center[0],r.pos[1]*100-center[1]))
pygame.display.flip()