def setBarNo(self): barList = level.Level1bars() barList.reverse() for i in range(len(barList) - 1): if self.getPosition("D") <= barList[i] and self.getPosition( "D") > barList[i + 1]: self.__myPlayer.barNo = i + 1
def moveDown(self, screen, hero_group, stairGroup): barList = level.Level1bars() barList.reverse() collision = pygame.sprite.groupcollide(hero_group, level.getStairGroup(), False, True) if len(collision) > 0: if self.getPosition("D") + 20 <= barList[self.__myPlayer.barNo - 1]: self.setPosition("D", 20) elif self.getDown(): self.setPosition("D", 20) self.setBarNo()
def jump(self, times): barList = level.Level1bars() if self.getState() == "JUMPING": if self.getPosition("D") in barList: self.setPosition("U", 30) elif self.getPosition("D") + 30 in barList: self.setPosition("U", 20) else: self.setPosition("U", -25) if times == 1 or times == 2: if self.__myPlayer.jmpL: self.setPosition("L", 30) elif self.__myPlayer.jmpR: self.setPosition("R", 30) return times + 1 else: return times
def gravity(self): barList = level.Level1bars() barList.reverse() barsStart = level.Level1barsWidths() onBar = self.__myPlayer.barNo if onBar % 2 == 1: if self.getPosition("L") < barsStart[0]: y = self.getPosition("D") self.setPosition("D", -y + 800) elif self.getPosition("R") > WIDTH - 120: if onBar == 1: self.setPosition("D", 20) else: self.setPosition("D", 80) else: if self.getPosition("L") < barsStart[1]: self.setPosition("D", 80) elif self.getPosition("L") > WIDTH - 110: y = self.getPosition("D") self.setPosition("D", -y + 800) self.setBarNo()
def isMoveSide(self): barList = level.Level1bars() if self.getPosition("D") in barList: return True else: return False