Jump update (step 2)

This commit is contained in:
2021-04-02 11:45:15 +03:00
parent 8ba29ab9e5
commit f1a7a7b617
2 changed files with 62 additions and 9 deletions
+47 -2
View File
@@ -36,11 +36,23 @@ class Drakora():
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):
self.__score += score
if self.__score%self.speedUpRate == 0:
self.__gameSpeed += self.__score/self.speedUpRate
self.speedUp()
self.speedUpLabelCD = self.targetFps
@@ -61,7 +73,7 @@ class Drakora():
self.isGameOver = False
self.isPaused = False
self.__gameSpeed = 2
self.speedReset()
self.enemyCount = 0
self.enemyChance = 100.0
@@ -70,6 +82,10 @@ class Drakora():
self.nextEnemyMustBeFlying = False
self.enemyCD = self.getNextEnemyCD()
self.speedUpCheatLabelCD = 0
self.speedDownCheatLabelCD = 0
self.speedResetCheatLabelCD = 0
def __init__(self):
random.seed()
@@ -164,6 +180,24 @@ class Drakora():
self.fontGodmode, (255, 255, 255),
(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()
@@ -194,8 +228,19 @@ class Drakora():
def doCheats(self):
if self.isPressedKeysUpdated:
pressedKeysStr = ''.join(self.pressedKeys)
if pressedKeysStr.endswith('godmode'):
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
+15 -7
View File
@@ -58,9 +58,6 @@ class Player(pygame.sprite.Sprite):
def update(self):
if not self.speed: self.rect.y += 1
self.speed += 0.07 * self.gameSpeed
self.rect.y += self.speed
if not self.isDownJump:
self.hoverCount = 0
@@ -81,10 +78,21 @@ class Player(pygame.sprite.Sprite):
self.standup()
if self.isJumping:
maxHoverCount = 30
if self.isDownJump and self.hoverCount < maxHoverCount:
self.speed -= self.gameSpeed/10 * (math.sin(2*math.pi*self.hoverCount/(2*maxHoverCount)+math.pi/2)+1)/2.5+0.2
self.hoverCount += 1
# maxHoverCount = 30
if self.gameSpeed <= 2: maxHoverCount = 30
elif self.gameSpeed <= 4: maxHoverCount = 23
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:
self.isJumping = False
else:
self.speed += 0.07 * self.gameSpeed
self.rect.y += self.speed