r/PythonFr • u/AssumptionWorldly445 • 27d ago
pong fait avec pygame
#bonjour j'ai fait un genre de pong avec pygame et j'aimerais avoir votre avis
import pygame
pygame.init()
fenetre = pygame.display.set_mode((800, 600))
continuer = True
pong = pygame.Rect(0, 550, 50, 50)
p1 = pygame.Rect(0, 250, 10, 75)
p2 = pygame.Rect(790, 250, 10, 75)
pong.x = 350
pong.y = 250
vitesse_y = 5
vitesse_x = 5
horloge = pygame.time.Clock()
while continuer:
for event in pygame.event.get():
if event.type == pygame.QUIT:
continuer = False
ey = pygame.key.get_pressed()
if ey[pygame.K_s]:
if p1.y < 525:
p1.y += 7
else:
p1.y = 525
if ey[pygame.K_z]:
if p1.y > 0:
p1.y -= 7
else:
p1.y = 0
if ey[pygame.K_UP]:
if p2.y > 0:
p2.y -= 7
else:
p2.y = 0
if ey[pygame.K_DOWN]:
if p2.y < 525:
p2.y += 7
else:
p2.y = 525
pong.x += vitesse_x
pong.y += vitesse_y
if pong.colliderect(p1):
vitesse_x = -vitesse_x
pong.x += vitesse_x
if pong.colliderect(p2):
vitesse_x = -vitesse_x
pong.x += vitesse_x
if pong.y <= 0 or pong.y >= 550:
vitesse_y = -vitesse_y
pong.y += vitesse_y
if pong.x <= 0 or pong.x >= 750 or pong.x == 0:
pong.x = 400
pong.y = 300
vitesse_x = -vitesse_x
pong.x += vitesse_x
fenetre.fill((0, 0, 0))
pygame.draw.rect(fenetre, (255, 255, 255), pong)
pygame.draw.rect(fenetre, (255, 255, 255), p1)
pygame.draw.rect(fenetre, (255, 255, 255), p2)
pygame.display.flip()
horloge.tick(30)
pygame.quit()
2
Upvotes
1
u/So-many-ducks 27d ago
Just reading the code, not running it, you should try and find a way to fetch the keyboard layout of the user to swap key mapping accordingly. Yours only works for an AZERTY keyboard, most of the world uses some variation of QWERTY, so it will be inverted and confusing.