Ejemplo n.º 1
0
 def jump(self):
     if self.isOnTheGround and not self.isInCutScene:
         self.addToVec(0, -350 * self.upgrades.jumpingHeight * self.gravity)
         self.changeAnimationTemp(
             self.flipList(aggregateAnim('sprites/character/', 'jumping'),
                           self.facingLeft, self.gravity), 10)
         stopHitting(self)
Ejemplo n.º 2
0
 def lighHit(self):
     if self.timeSinceLastSwing >= 0.5:
         self.timeSinceLastSwing = 0
         self.isSwingingSword = True
         self.changeAnimationTemp(
             self.flipList(
                 aggregateAnim('sprites/character/', 'light_attack'),
                 self.facingLeft, self.gravity), 10, stopHitting)
Ejemplo n.º 3
0
 def __init__(self, gridPosition):
     GridAlignedObject.__init__(self, gridPosition,
                                aggregateAnim('sprites/npc', 'boss_idle_f'),
                                4)
     self.currentLine = 0
     self.dialogues = [
         'Hehehe!', 'Bien joue d\'etre arrive jusqu\'ici.', 'Hihihi! ',
         'Mais c\'etait en vain.', 'Tu ne peux pas sauver le monde.',
         ' Hohoho!',
         'Tu es destine a rester dans cette salle jusqu\'a la fin de tes jours...',
         'Soit dans pas longtemps', 'Huhuhu!', ''
     ]
Ejemplo n.º 4
0
 def firstMenu(self):
     self.addbackground()
     self.gameObjects.append(
         DisplayableElement(aggregateAnim('sprites/menu/', 'you died'),
                            0.001))
     self.gameObjects[-1].moveto((530, 140))
     self.gameObjects.append(
         Button((300, 440), 'sprites/menu/', 'retry', self.retryMenu))
     self.gameObjects.append(
         Button((700, 440), 'sprites/menu/', 'submit', self.submitMenu))
     self.gameObjects.append(
         Button((512, 300), 'sprites/menu/', 'credits', self.credits))
Ejemplo n.º 5
0
 def startRunning(self, left):
     if not self.isInCutScene:
         if left:
             self.addToVec(64 * self.upgrades.walkingSpeed, 0)
         else:
             self.addToVec(-64 * self.upgrades.walkingSpeed, 0)
         if left != self.facingLeft or self.walking:
             self.walking = False
             self.facingLeft = left
             self.changeAnimation(
                 self.flipList(
                     aggregateAnim('sprites/character/', 'running'), left,
                     self.gravity), 5)
             stopHitting(self)
Ejemplo n.º 6
0
 def addToVec(self, x, y):
     GravityObject.addToVec(self, x, y)
     self.animationFrames = self.flipList(aggregateAnim('sprites/mobs/', 'slime color swap purple'), (self.facingLeft))
Ejemplo n.º 7
0
 def __init__(self, startingGridPos):
     GridAlignedObject.__init__(self, startingGridPos, aggregateAnim('sprites/mobs/', 'slime color swap purple'), 3)
     self.move((0,50))
Ejemplo n.º 8
0
 def changeVec(self, newVec):
     GravityObject.changeVec(self, newVec)
     self.animationFrames = self.flipList(aggregateAnim('sprites/mobs/', 'slime color swap purple'), (self.facingLeft))
Ejemplo n.º 9
0
 def use(self):
     self.changeAnimationTemp(aggregateAnim('sprites/environment/', 'spring'), 3)
Ejemplo n.º 10
0
 def __init__(self, pos, animpath, animfile, callback):
     DisplayableElement.__init__(self, aggregateAnim(animpath, animfile),
                                 0.001)
     self.moveto(pos)
     self.__callback = callback
Ejemplo n.º 11
0
 def addToVec(self, x, y):
     MovingObject.addToVec(self, x, y)
     self.animationFrames = self.flipList(
         aggregateAnim('sprites/mobs/', 'bat color-swap-purple'),
         (self.movementVector[0] > 0))
Ejemplo n.º 12
0
 def use(self):
     self.changeAnimationTemp(
         aggregateAnim('sprites/environment', 'button_Animation 1_1'), 0.25)
Ejemplo n.º 13
0
 def __init__(self, gridPosition, facing = 0):#0=up, 1=left, 2=down, 3= right
     GridAlignedObject.__init__(self, gridPosition, self.__spinList(aggregateAnim('sprites/environment/', 'spike_f0'), facing), 0.001)
     self.facing = facing
Ejemplo n.º 14
0
 def stopMoving(self):
     self.walking = False
     self.changeAnimation(
         self.flipList(aggregateAnim('sprites/character/', 'idle'),
                       self.facingLeft, self.gravity), 5)
     stopHitting(self)
Ejemplo n.º 15
0
 def __init__(self, gridPos):
     GridAlignedObject.__init__(self, gridPos,
                                aggregateAnim('sprites/items/', 'coin'), 5)
Ejemplo n.º 16
0
 def __init__(self, gridPosition):
     rand = random.random()
     if rand <= 1 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc1_f'),
                                    4)
     elif 1 / 12.0 < rand <= 2 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc2'), 4)
     elif 2 / 12.0 < rand <= 3 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc3'), 4)
     elif 3 / 12.0 < rand <= 4 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc4'), 4)
     elif 4 / 12.0 < rand <= 5 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc5'), 4)
     elif 5 / 12.0 < rand <= 6 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc6'), 4)
     elif 6 / 12.0 < rand <= 7 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc7'), 4)
     elif 7 / 12.0 < rand <= 8 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc8'), 4)
     elif 8 / 12.0 < rand <= 9 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc9'), 4)
     elif 9 / 12.0 < rand <= 10 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc10'),
                                    4)
     elif 10 / 12.0 < rand <= 11 / 12.0:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc11'),
                                    4)
     elif 11 / 12.0 < rand:
         GridAlignedObject.__init__(self, gridPosition,
                                    aggregateAnim('sprites/npc', 'npc12'),
                                    4)
Ejemplo n.º 17
0
 def __init__(self, gridPosition):
     GridAlignedObject.__init__(
         self, gridPosition,
         aggregateAnim('sprites/environment/', 'spawnpoint'), 0.001)
Ejemplo n.º 18
0
floorNumber = 1
#roomNumber = 0
#floorNumber = 1
pygame.key.set_repeat(1, 200)
# Music
pygame.mixer.music.load("music.wav")
pygame.mixer.music.set_volume(0.1)

gameObjects = []
for x in range(16):
    for y in range(9):
        gameObjects.append(BackWall((x, y)))

gameObjects.append(Room(roomNumber, floorNumber))
gameObjects.append(
    DisplayableElement(aggregateAnim('sprites/environment', 'tutorial')))
gameObjects.append(Player())
diedmenu = DiedMenu(SM, gameObjects[-1])
gameObjects.append(
    DisplayableElement(aggregateAnim('sprites/environment', 'rectangle')))
gameObjects.append(
    DisplayableElement(aggregateAnim('sprites/environment', 'rectangle')))
gameObjects.append(TextElement('texte', 'Calibri', 35, (189, 18, 18)))
gameObjects.append(TextElement('texte', 'Calibri', 35, (189, 18, 18)))
# THE ORDER OF GAMEOBJECTS IN THE LIST IS REALLY IMPORTANT: IT DICTATES DRAWING ORDER. DO NOT MESS WITH IT

for obj in gameObjects:
    obj.display = True
gameObjects[-7].show(True)

pygame.mixer.music.play(-1)
Ejemplo n.º 19
0
 def __init__(self, gridPos):
     GridAlignedObject.__init__(
         self, gridPos,
         aggregateAnim('sprites/environment', 'button_Animation 1_0'),
         0.001)
Ejemplo n.º 20
0
 def __init__(self, startingGridPos):
     GridAlignedObject.__init__(
         self, startingGridPos,
         aggregateAnim('sprites/mobs/', 'bat color-swap-purple'), 20)
     self.move((0, 60))
Ejemplo n.º 21
0
 def __init__(self):
     GravityObject.__init__(self, (512, 128),
                            aggregateAnim('sprites/character/', 'idle'), 5)
     self.upgrades = Upgrades()
Ejemplo n.º 22
0
 def changeVec(self, newVec):
     MovingObject.changeVec(self, newVec)
     self.animationFrames = self.flipList(
         aggregateAnim('sprites/mobs/', 'bat color-swap-purple'),
         (self.movementVector[0] > 0))
Ejemplo n.º 23
0
 def __init__(self, gridPos):
     GridAlignedObject.__init__(self, gridPos, aggregateAnim('sprites/environment/', 'spring_f0'), 0.001)
Ejemplo n.º 24
0
 def animate(self, clocktick):
     if (not self.isInTempAnim) and random.random() > 0.999:
         self.changeAnimationTemp(self.__spinList(aggregateAnim('sprites/environment/', 'spike'), self.facing), 10)
     GridAlignedObject.animate(self, clocktick)
Ejemplo n.º 25
0
 def __init__(self, gridPosition):
     GridAlignedObject.__init__(
         self, gridPosition, aggregateAnim('sprites/environment/', 'table'),
         3)