import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600), 0)
amarelo = (255, 255, 0)
preto = (0, 0, 0)
class Pacman:
def __init__(self):
self.coluna = 1
self.linha = 1
self.centro_x = 400
self.centro_y = 300
self.tamanho = 800//30
self.raio = self.tamanho//2
#self.velocidade = 1
self.vel_x = 1
self.vel_y = 1
def calcular_regras(self):
self.coluna += self.vel_x
self.linha += self.vel_y
self.centro_x = int(self.coluna * self.tamanho)
self.centro_y = int(self.centro_y * self.tamanho)
if self.centro_x + self.raio > 800:
self.vel_x = -self.vel_x
if self.centro_x - self.raio < 0:
self.vel_x = self.vel_x
if self.centro_y + self.raio > 600:
self.vel_y = -self.vel_y
if self.centro_y - self.raio < 0:
self.vel_y = self.vel_y
def pintar(self, tela):
# Desenhar o corpo do Pacman
pygame.draw.circle(tela, amarelo, (self.centro_x, self.centro_y), self.raio)
# Desenha a boca do Pacman
canto_boca = (self.centro_x, self.centro_y)
labio_superior = (self.centro_x + self.raio, self.centro_y - self.raio)
labio_inferior = (self.centro_x + self.raio, self.centro_y + self.raio)
pontos = [canto_boca, labio_superior, labio_inferior]
pygame.draw.polygon(tela, preto, pontos, 0)
if __name__ == "__main__":
pacman = Pacman()
while True:
# Calcular regras
pacman.calcular_regras()
# Pintar a tela
screen.fill(preto)
pacman.pintar(screen)
pygame.display.update()
pygame.time.delay(100)
# Captura de eventos
for e in pygame.event.get():
if e.type == pygame.QUIT:
exit()
File "C:/Users/vtrdi/Desktop/Alura/pacman/pacman/pacman_2.py", line 57, in <module>
pacman.pintar(screen)
File "C:/Users/vtrdi/Desktop/Alura/pacman/pacman/pacman_2.py", line 38, in pintar
pygame.draw.circle(tela, amarelo, (self.centro_x, self.centro_y), self.raio)
OverflowError: Python int too large to convert to C long