Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def setup():
- size(1450,830)
- global perso, gravity, x, y, position_x, position_y
- gravity = 0.8
- img = loadImage("U:\Documents\ISN\ISN\Perso.png")
- image ( img, width/2, height-32)
- perso = personnage("Alan",width/2,height-32)
- global y,sens
- y=10
- sens=1
- def draw():
- background(255)
- perso.update() # on effectue tous les traitements correspondant à l'état du personnage + collisions
- perso.affiche() # on affiche le perso
- fill(0,150,255)
- rect(1,800,1450,1450)
- fill(0,150,150)
- rect(970-50,300-80,100,100)
- global y,sens
- y=y+sens
- if y==250 or y==10:
- sens=sens*-1
- rect(800,height-200,100,10)
- fill(255,0,0)
- rect(1000,height,100,-32)#trampoline
- def keyPressed():
- if key=="q":
- perso.goLeft() #On peut changer les touches pour jouer ici ! déplacement vers la gauche.
- if key=="d":
- perso.goRight()#On peut changer les touches pour jouer ici ! déplacement vers la droite.
- if key==" ":
- perso.jump()#On peut changer les touches pour jouer ici ! ceci est un saut.
- def keyReleased():
- if key=="q":
- perso.xFreine()#Changer aussi ces touches là.
- if key=="d":
- perso.xFreine()#Changer aussi ces touches là.
- class personnage:
- def __init__(self, nom, x, y):
- self.nom = nom
- self.x = x
- self.y = y
- self.dx=0
- self.dy=0
- self.jumping=False
- self.xFrein=False
- def set_position(self, x, y):
- self.x=x
- self.y=y
- def affiche(self):
- global x, y
- x= self.x
- y= self.y
- img = loadImage("U:\Documents\ISN\ISN\Perso.png")
- image ( img , x, y-40)
- def jump(self):
- if (self.y==height-32):
- self.jumping=True
- perso.dy=-30
- def goRight(self):
- if (self.dx<=0):
- perso.dx=2
- elif (self.dx<5 ):
- self.dx=self.dx*1.1
- def goLeft(self):
- if (self.dx>=0):
- perso.dx=-2
- elif (self.dx>-5 ):
- self.dx=self.dx*1.1
- def xFreine(self):
- self.xFrein=True
- def update(self):
- if (self.jumping):
- # gestion des collisions avec le sol
- if(self.y>height-32):
- self.dy=0
- self.y=height-32
- self.jumping=False
- else:
- # si on est en train de sauter vers le haut, on ralentit
- if self.dy<0:
- self.dy = self.dy * gravity
- # si on est trop lent, il est temps de redescendre
- if self.dy>-1:
- self.dy=2
- else:
- # on est en train de tomber - on accélère
- self.dy = self.dy / gravity
- # si on doit ralentir en déplacement horizontal
- if (self.xFrein):
- self.dx=self.dx*0.9
- if (abs(self.dx)<0.5): # si le dépalcement est inférieur à 1 pixel
- self.dx=0 # on annule le déplacement
- self.xFrein=False
- if (self.jumping):
- if(self.y==height-32):
- self.jumping=True
- if (self.x>990 and self.x<1100):
- self.dy=-70
- self.y=height-50
- self.jumping=True
- # finalement, on se déplace de dx,dy (ce qui est la moindre des choses, non ?)
- self.x=self.x+self.dx
- self.y=self.y+self.dy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement