Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. def setup():
  2. size(1450,830)
  3. global perso, gravity, x, y, position_x, position_y
  4. gravity = 0.8
  5. img = loadImage("U:\Documents\ISN\ISN\Perso.png")
  6. image ( img, width/2, height-32)
  7. perso = personnage("Alan",width/2,height-32)
  8. global y,sens
  9. y=10
  10. sens=1
  11.  
  12.  
  13. def draw():
  14. background(255)
  15. perso.update() # on effectue tous les traitements correspondant à l'état du personnage + collisions
  16. perso.affiche() # on affiche le perso
  17. fill(0,150,255)
  18. rect(1,800,1450,1450)
  19. fill(0,150,150)
  20. rect(970-50,300-80,100,100)
  21.  
  22. global y,sens
  23. y=y+sens
  24. if y==250 or y==10:
  25. sens=sens*-1
  26. rect(800,height-200,100,10)
  27. fill(255,0,0)
  28. rect(1000,height,100,-32)#trampoline
  29.  
  30.  
  31. def keyPressed():
  32. if key=="q":
  33. perso.goLeft() #On peut changer les touches pour jouer ici ! déplacement vers la gauche.
  34. if key=="d":
  35. perso.goRight()#On peut changer les touches pour jouer ici ! déplacement vers la droite.
  36. if key==" ":
  37. perso.jump()#On peut changer les touches pour jouer ici ! ceci est un saut.
  38.  
  39. def keyReleased():
  40. if key=="q":
  41. perso.xFreine()#Changer aussi ces touches là.
  42. if key=="d":
  43. perso.xFreine()#Changer aussi ces touches là.
  44.  
  45.  
  46. class personnage:
  47.  
  48. def __init__(self, nom, x, y):
  49. self.nom = nom
  50. self.x = x
  51. self.y = y
  52. self.dx=0
  53. self.dy=0
  54. self.jumping=False
  55. self.xFrein=False
  56.  
  57. def set_position(self, x, y):
  58. self.x=x
  59. self.y=y
  60.  
  61. def affiche(self):
  62. global x, y
  63. x= self.x
  64. y= self.y
  65. img = loadImage("U:\Documents\ISN\ISN\Perso.png")
  66. image ( img , x, y-40)
  67.  
  68.  
  69. def jump(self):
  70.  
  71. if (self.y==height-32):
  72. self.jumping=True
  73. perso.dy=-30
  74.  
  75.  
  76. def goRight(self):
  77.  
  78. if (self.dx<=0):
  79. perso.dx=2
  80. elif (self.dx<5 ):
  81. self.dx=self.dx*1.1
  82.  
  83.  
  84. def goLeft(self):
  85.  
  86. if (self.dx>=0):
  87. perso.dx=-2
  88. elif (self.dx>-5 ):
  89. self.dx=self.dx*1.1
  90.  
  91.  
  92. def xFreine(self):
  93. self.xFrein=True
  94.  
  95. def update(self):
  96.  
  97. if (self.jumping):
  98. # gestion des collisions avec le sol
  99. if(self.y>height-32):
  100. self.dy=0
  101. self.y=height-32
  102. self.jumping=False
  103.  
  104. else:
  105. # si on est en train de sauter vers le haut, on ralentit
  106. if self.dy<0:
  107. self.dy = self.dy * gravity
  108. # si on est trop lent, il est temps de redescendre
  109. if self.dy>-1:
  110. self.dy=2
  111. else:
  112. # on est en train de tomber - on accélère
  113. self.dy = self.dy / gravity
  114. # si on doit ralentir en déplacement horizontal
  115. if (self.xFrein):
  116. self.dx=self.dx*0.9
  117. if (abs(self.dx)<0.5): # si le dépalcement est inférieur à 1 pixel
  118. self.dx=0 # on annule le déplacement
  119. self.xFrein=False
  120.  
  121. if (self.jumping):
  122. if(self.y==height-32):
  123. self.jumping=True
  124. if (self.x>990 and self.x<1100):
  125. self.dy=-70
  126. self.y=height-50
  127. self.jumping=True
  128.  
  129. # finalement, on se déplace de dx,dy (ce qui est la moindre des choses, non ?)
  130. self.x=self.x+self.dx
  131. self.y=self.y+self.dy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement