Beispiel #1
0
 def update(self, allSprites):
     entity.update(self, allSprites)
     if self.wasjusthit == 2:
         self.prev = self.data["facing"]
         self.data["facing"] = 4
         self.wasjusthit = 1
         self.manager.alert(chameleon.event("entityMoved", (self, (self.rect.x, self.rect.y), self.curLevel)))
     elif self.wasjusthit == 1:
         self.data["facing"] = self.prev
         self.wasjusthit = 0
         self.manager.alert(chameleon.event("entityMoved", (self, (self.rect.x, self.rect.y), self.curLevel)))
     if self.data["health"] <= 0:
         self.manager.alert(chameleon.event("killEntity", self))
         self.kill()
         self.manager.alert(chameleon.event("gameOver", self))
Beispiel #2
0
 def update(self, allSprites):
     requestx = self.requestx
     requesty = self.requesty
     temp = [sprite for sprite in allSprites if sprite is not self]
     bumped = []
     x = self.rect.move(requestx, 0).collidelistall(temp)
     if len(x):
         requestx = 0
         bumped.extend(x)
     y = self.rect.move(0, requesty).collidelistall(temp)
     if len(y):
         requesty = 0
         bumped.extend(y)
     self.rect.move_ip(requestx, requesty)
     if self.requestx or self.requesty:
         self.manager.alert(chameleon.event("entityMoved", (self, (self.rect.x, self.rect.y), self.curLevel)))
     for index in bumped:
         allSprites[index].bump(self)
Beispiel #3
0
 def hit(self, hitter):
     print "stairswarp"
     hitter.curLevel = self.warp
     print hitter
     hitter.manager.alert(chameleon.event("switchLevel", hitter))
Beispiel #4
0
 def hit(self, hitter):
     print "stairsdown"
     hitter.curLevel += 1
     print hitter
     hitter.manager.alert(chameleon.event("switchLevel", hitter))
Beispiel #5
0
 def hit(self, hitter):
     print "stairsup"
     print "curLevel: " + str(hitter.curLevel)
     hitter.curLevel -= 1
     print hitter
     hitter.manager.alert(chameleon.event("switchLevel", hitter))
Beispiel #6
0
 def hit(self, hitter):
     print "messageBox hit"
     hitter.manager.alert(chameleon.event("displayText", (self.msg, hitter)))