Bonjour,
J'essaye de programmer un jeu python a l'aide de pygame, le rectangle doit bouger comme dans le jeu snake.Mais avec ce code la fenêtre pygame ne répond pas et crash.
Comment puis je faire ?
merci d'avance

code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import pygame
import time
pygame.init()
ecran = pygame.display.set_mode((500,500))
continuer = True
y = 400
x = 20
direction = 1
 
 
 
while continuer:
 class carre:
 
  def haut(self,n):     
      return int(n-5)
  def bas(self,n):     
      return int(n+5)
  def gauche(self,n):
      return int(n-5)
  def droite(self,n):
      return int(n+5)
 
 
 if direction != 0:
  while direction == 1:
      nb = carre()
      y = nb.haut(y)
      time.sleep(1)
      pygame.draw.rect(ecran,(255,0,0),(x,y,20,20))
      pygame.display.flip
 
  while direction == 2:
      nb = carre()
      y = nb.bas(y)
      time.sleep(1)
      pygame.draw.rect(ecran,(255,0,0),(x,y,20,20))
      pygame.display.flip
 
  while direction == 3:
      nb = carre()
      x = nb.gauche(x)
      time.sleep(1)
      pygame.draw.rect(ecran,(255,0,0),(x,y,20,20))
      pygame.display.flip
 
  while direction == 4:
      nb = carre()
      x= nb.droite(x)
      time.sleep(1)
      pygame.draw.rect(ecran,(255,0,0),(x,y,20,20))
      pygame.display.flip
 
 
 
 
 
 for event in pygame.event.get():  
        presse = pygame.key.get_pressed()
        if presse[pygame.K_UP] ==1: 
            direction = 1
 
        if presse[pygame.K_DOWN] == 1:
             direction = 2
 
        if presse[pygame.K_LEFT] == 1:
            direction = 3
 
        if presse[pygame.K_RIGHT] == 1:
             direction = 4
        if presse[pygame.K_w] == 1:
            continuer = False
 
 pygame.draw.rect(ecran,(255,0,0),(x,y,20,20))
 pygame.display.flip()          
 
 
 
pygame.quit()