Jump update (step 2)
This commit is contained in:
+47
-2
@@ -36,11 +36,23 @@ class Drakora():
|
|||||||
return self.floorHeight
|
return self.floorHeight
|
||||||
|
|
||||||
|
|
||||||
|
def speedUp(self):
|
||||||
|
self.__gameSpeed *= 2
|
||||||
|
|
||||||
|
|
||||||
|
def speedDown(self):
|
||||||
|
if self.__gameSpeed > 2: self.__gameSpeed /= 2
|
||||||
|
|
||||||
|
|
||||||
|
def speedReset(self):
|
||||||
|
self.__gameSpeed = 2
|
||||||
|
|
||||||
|
|
||||||
def addScore(self, score):
|
def addScore(self, score):
|
||||||
self.__score += score
|
self.__score += score
|
||||||
|
|
||||||
if self.__score%self.speedUpRate == 0:
|
if self.__score%self.speedUpRate == 0:
|
||||||
self.__gameSpeed += self.__score/self.speedUpRate
|
self.speedUp()
|
||||||
self.speedUpLabelCD = self.targetFps
|
self.speedUpLabelCD = self.targetFps
|
||||||
|
|
||||||
|
|
||||||
@@ -61,7 +73,7 @@ class Drakora():
|
|||||||
self.isGameOver = False
|
self.isGameOver = False
|
||||||
self.isPaused = False
|
self.isPaused = False
|
||||||
|
|
||||||
self.__gameSpeed = 2
|
self.speedReset()
|
||||||
|
|
||||||
self.enemyCount = 0
|
self.enemyCount = 0
|
||||||
self.enemyChance = 100.0
|
self.enemyChance = 100.0
|
||||||
@@ -70,6 +82,10 @@ class Drakora():
|
|||||||
self.nextEnemyMustBeFlying = False
|
self.nextEnemyMustBeFlying = False
|
||||||
self.enemyCD = self.getNextEnemyCD()
|
self.enemyCD = self.getNextEnemyCD()
|
||||||
|
|
||||||
|
self.speedUpCheatLabelCD = 0
|
||||||
|
self.speedDownCheatLabelCD = 0
|
||||||
|
self.speedResetCheatLabelCD = 0
|
||||||
|
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
random.seed()
|
random.seed()
|
||||||
@@ -164,6 +180,24 @@ class Drakora():
|
|||||||
self.fontGodmode, (255, 255, 255),
|
self.fontGodmode, (255, 255, 255),
|
||||||
(self.getScreenWidth()/2,40))
|
(self.getScreenWidth()/2,40))
|
||||||
|
|
||||||
|
if self.speedUpCheatLabelCD:
|
||||||
|
self.speedUpCheatLabelCD -= 1
|
||||||
|
self.renderText('speed up',
|
||||||
|
self.fontGodmode, (255, 255, 255),
|
||||||
|
(self.getScreenWidth()/2,60))
|
||||||
|
|
||||||
|
if self.speedDownCheatLabelCD:
|
||||||
|
self.speedDownCheatLabelCD -= 1
|
||||||
|
self.renderText('speed down',
|
||||||
|
self.fontGodmode, (255, 255, 255),
|
||||||
|
(self.getScreenWidth()/2,60))
|
||||||
|
|
||||||
|
if self.speedResetCheatLabelCD:
|
||||||
|
self.speedResetCheatLabelCD -= 1
|
||||||
|
self.renderText('speed reset',
|
||||||
|
self.fontGodmode, (255, 255, 255),
|
||||||
|
(self.getScreenWidth()/2,60))
|
||||||
|
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
|
|
||||||
|
|
||||||
@@ -194,8 +228,19 @@ class Drakora():
|
|||||||
def doCheats(self):
|
def doCheats(self):
|
||||||
if self.isPressedKeysUpdated:
|
if self.isPressedKeysUpdated:
|
||||||
pressedKeysStr = ''.join(self.pressedKeys)
|
pressedKeysStr = ''.join(self.pressedKeys)
|
||||||
|
|
||||||
if pressedKeysStr.endswith('godmode'):
|
if pressedKeysStr.endswith('godmode'):
|
||||||
self.isGodmode = not self.isGodmode
|
self.isGodmode = not self.isGodmode
|
||||||
|
elif pressedKeysStr.endswith('speedup'):
|
||||||
|
self.speedUp()
|
||||||
|
self.speedUpCheatLabelCD = 60
|
||||||
|
elif pressedKeysStr.endswith('speeddown'):
|
||||||
|
self.speedDown()
|
||||||
|
self.speedDownCheatLabelCD = 60
|
||||||
|
elif pressedKeysStr.endswith('speedreset'):
|
||||||
|
self.speedReset()
|
||||||
|
self.speedResetCheatLabelCD = 60
|
||||||
|
|
||||||
self.isPressedKeysUpdated = False
|
self.isPressedKeysUpdated = False
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -58,9 +58,6 @@ class Player(pygame.sprite.Sprite):
|
|||||||
def update(self):
|
def update(self):
|
||||||
if not self.speed: self.rect.y += 1
|
if not self.speed: self.rect.y += 1
|
||||||
|
|
||||||
self.speed += 0.07 * self.gameSpeed
|
|
||||||
self.rect.y += self.speed
|
|
||||||
|
|
||||||
if not self.isDownJump:
|
if not self.isDownJump:
|
||||||
self.hoverCount = 0
|
self.hoverCount = 0
|
||||||
|
|
||||||
@@ -81,10 +78,21 @@ class Player(pygame.sprite.Sprite):
|
|||||||
self.standup()
|
self.standup()
|
||||||
|
|
||||||
if self.isJumping:
|
if self.isJumping:
|
||||||
maxHoverCount = 30
|
# maxHoverCount = 30
|
||||||
if self.isDownJump and self.hoverCount < maxHoverCount:
|
if self.gameSpeed <= 2: maxHoverCount = 30
|
||||||
self.speed -= self.gameSpeed/10 * (math.sin(2*math.pi*self.hoverCount/(2*maxHoverCount)+math.pi/2)+1)/2.5+0.2
|
elif self.gameSpeed <= 4: maxHoverCount = 23
|
||||||
self.hoverCount += 1
|
elif self.gameSpeed <= 8: maxHoverCount = 16
|
||||||
|
elif self.gameSpeed <= 16: maxHoverCount = 9
|
||||||
|
elif self.gameSpeed <= 32: maxHoverCount = 5
|
||||||
|
elif self.gameSpeed <= 64: maxHoverCount = 2
|
||||||
|
else: maxHoverCount = 1
|
||||||
|
|
||||||
|
if self.isDownJump and self.hoverCount < maxHoverCount:
|
||||||
|
self.speed -= self.gameSpeed/8 * ((math.cos(2*math.pi*self.hoverCount/(2*maxHoverCount))+1)/2.5+0.2)
|
||||||
|
self.hoverCount += 1
|
||||||
else:
|
else:
|
||||||
self.isJumping = False
|
self.isJumping = False
|
||||||
|
else:
|
||||||
|
self.speed += 0.07 * self.gameSpeed
|
||||||
|
|
||||||
|
self.rect.y += self.speed
|
||||||
|
|||||||
Reference in New Issue
Block a user