Bonjour, je suis lycéen en classe de première et j’ai pour projet noté de reproduire un jeu, j’ai donc choisi Snake, cependant, chaque fois que j’atteins un certains endroit proche de la bordure cela s’arrête avec le message ‘Process ended with exit code 0.’, je ne comprend pas pourquoi sachant que les bordure sont définis sur 0
x
et 0
y
, si qq pourrait m’aider svp et m’expliquer comment ne plus croiser cette erreur
import pygame
pygame.init()
def affiche(S):
# affiche tous les pixels du serpent
# a partir de leurs coordonnees dans S
for coord in S:
x,y = coord
pygame.draw.rect(dis, blue, [x, y, 50, 50])
pygame.display.flip()
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
green = (138,169,14)
blue = (10,74,130)
dis = pygame.display.set_mode((1001, 836))
game_over = False
x1 = 300
y1 = 300
x1_change = 0
y1_change = 0
clock = pygame.time.Clock()
serpent = [[400,200],[450,200],[500,200] ]
serpent2 = [(450,250)]
while not game_over:
fond = pygame.image.load('font_overlay.png')
fond = fond.convert()
dis.blit(fond, (0,0))
affiche(serpent)
#pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x1_change = -50
y1_change = 0
elif event.key == pygame.K_RIGHT:
x1_change = 50
y1_change = 0
elif event.key == pygame.K_UP:
y1_change = -50
x1_change = 0
elif event.key == pygame.K_DOWN:
y1_change = 50
x1_change = 0
serpent.pop()
tete = [serpent[0][0]+x1_change,serpent[0][1]+y1_change]
serpent.insert(0,tete)
x1 += x1_change
y1 += y1_change
# collisions
# bordures
if serpent[0][0]+x1_change < 0 or serpent[0][0]+x1_change > 1000 :
pygame.time.wait(1000)
game_over = True
if serpent[0][0]+y1_change < 0 or serpent[0][0]+y1_change > 750 :
pygame.time.wait(1000)
game_over = True
# self_eating
affiche(serpent)
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()
2 messages - 2 participant(e)s