From: Peter Gerwinski Date: Thu, 29 Mar 2018 11:20:46 +0000 (+0200) Subject: Cleaning up ... X-Git-Url: http://bicyclesonthemoon.info/git-projects/?a=commitdiff_plain;h=9dabd5659da30da1f75ebc832e5979980946c704;p=ott%2Fmolpy-up Cleaning up ... --- diff --git a/molpyup.py b/molpyup.py index 8b8d59e..f558d2e 100644 --- a/molpyup.py +++ b/molpyup.py @@ -42,31 +42,23 @@ class MolpyUp: def __init__(self): self.sx = 553 self.sy = 395 + self.extrax = self.sx // 16 self.screen = pygame.display.set_mode((self.sx, self.sy)) - self.platformNormal = pygame.image.load("assets/platformNormal.png").convert_alpha() pygame.font.init() - self.score = 0 self.font = pygame.font.SysFont("xkcd,sans", 25) - self.platformFloating = pygame.image.load("assets/platformFloating.png").convert_alpha() - self.platformBreaking = pygame.image.load("assets/platformBreaking.png").convert_alpha() - self.platformBroken = pygame.image.load("assets/platformBroken.png").convert_alpha() - self.playerRightUp = pygame.image.load("assets/playerRightUp.png").convert_alpha() - self.playerRightDown = pygame.image.load("assets/playerRightDown.png").convert_alpha() - self.playerLeftUp = pygame.image.load("assets/playerLeftUp.png").convert_alpha() - self.playerLeftDown = pygame.image.load("assets/playerLeftDown.png").convert_alpha() - self.accelerator = pygame.image.load("assets/accelerator.png").convert_alpha() - self.acceleratorUsed = pygame.image.load("assets/acceleratorUsed.png").convert_alpha() - self.direction = 0 - self.playerx = self.sx // 2 - self.playery = self.sy * 3 // 4 - self.platforms = [[self.playerx, self.playery + self.sy // 6, 0, 0]] - self.accelerators = [] - self.cameray = 0 - self.jump = 0 - self.gravity = 0 - self.xmovement = 0 - self.xmovementmax = 10 - self.extrax = self.sx // 16 + self.platformTypeNormal = 0 + self.platformTypeFloating = 1 + self.platformTypeBreaking = 2 + self.imgPlatformNormal = pygame.image.load("assets/platformNormal.png").convert_alpha() + self.imgPlatformFloating = pygame.image.load("assets/platformFloating.png").convert_alpha() + self.imgPlatformBreaking = pygame.image.load("assets/platformBreaking.png").convert_alpha() + self.imgPlatformBroken = pygame.image.load("assets/platformBroken.png").convert_alpha() + self.imgPlayerRightUp = pygame.image.load("assets/playerRightUp.png").convert_alpha() + self.imgPlayerRightDown = pygame.image.load("assets/playerRightDown.png").convert_alpha() + self.imgPlayerLeftUp = pygame.image.load("assets/playerLeftUp.png").convert_alpha() + self.imgPlayerLeftDown = pygame.image.load("assets/playerLeftDown.png").convert_alpha() + self.imgAccelerator = pygame.image.load("assets/accelerator.png").convert_alpha() + self.imgAcceleratorUsed = pygame.image.load("assets/acceleratorUsed.png").convert_alpha() def updatePlayer(self): if not self.jump: @@ -99,19 +91,19 @@ class MolpyUp: self.cameray -= self.sy // 60 if not self.direction: if self.jump: - self.screen.blit(self.playerRightDown, (self.playerx, self.playery - self.cameray)) + self.screen.blit(self.imgPlayerRightDown, (self.playerx, self.playery - self.cameray)) else: - self.screen.blit(self.playerRightUp, (self.playerx, self.playery - self.cameray)) + self.screen.blit(self.imgPlayerRightUp, (self.playerx, self.playery - self.cameray)) else: if self.jump: - self.screen.blit(self.playerLeftDown, (self.playerx, self.playery - self.cameray)) + self.screen.blit(self.imgPlayerLeftDown, (self.playerx, self.playery - self.cameray)) else: - self.screen.blit(self.playerLeftUp, (self.playerx, self.playery - self.cameray)) + self.screen.blit(self.imgPlayerLeftUp, (self.playerx, self.playery - self.cameray)) def updatePlatforms(self): for p in self.platforms: - rect = pygame.Rect(p[0], p[1], self.platformNormal.get_width() - 10, self.platformNormal.get_height()) - player = pygame.Rect(self.playerx, self.playery, self.playerRightUp.get_width() - 10, self.playerRightUp.get_height()) + rect = pygame.Rect(p[0], p[1], self.imgPlatformNormal.get_width() - 10, self.imgPlatformNormal.get_height()) + player = pygame.Rect(self.playerx, self.playery, self.imgPlayerRightUp.get_width() - 10, self.imgPlayerRightUp.get_height()) if rect.colliderect(player) and self.gravity and self.playery < (p[1] - self.cameray): if p[2] != 2: self.jump = self.sy // 20 @@ -132,37 +124,37 @@ class MolpyUp: for p in self.platforms: check = self.platforms[1][1] - self.cameray if check > self.sy: - platform = random.randint(0, 1000) - if platform < 800: - platform = 0 - elif platform < 900: - platform = 1 + platformType = random.randint(0, 1000) + if platformType < 800: + platformType = 0 + elif platformType < 900: + platformType = 1 else: - platform = 2 + platformType = 2 - self.platforms.append([random.randint(0, self.sx * 7 // 8), self.platforms[-1][1] - self.sy // 12, platform, 0]) + self.platforms.append([random.randint(0, self.sx * 7 // 8), self.platforms[-1][1] - self.sy // 12, platformType, 0]) coords = self.platforms[-1] check = random.randint(0, 1000) - if check > 900 and platform == 0: - self.accelerators.append([coords[0], coords[1] - self.platformNormal.get_height(), 0]) + if check > 900 and platformType == 0: + self.accelerators.append([coords[0], coords[1] - self.imgPlatformNormal.get_height(), 0]) self.platforms.pop(0) self.score += 1 - if p[2] == 0: - self.screen.blit(self.platformNormal, (p[0], p[1] - self.cameray)) - elif p[2] == 1: - self.screen.blit(self.platformFloating, (p[0], p[1] - self.cameray)) - elif p[2] == 2: + if p[2] == self.platformTypeNormal: + self.screen.blit(self.imgPlatformNormal, (p[0], p[1] - self.cameray)) + elif p[2] == self.platformTypeFloating: + self.screen.blit(self.imgPlatformFloating, (p[0], p[1] - self.cameray)) + elif p[2] == self.platformTypeBreaking: if not p[3]: - self.screen.blit(self.platformBreaking, (p[0], p[1] - self.cameray)) + self.screen.blit(self.imgPlatformBreaking, (p[0], p[1] - self.cameray)) else: - self.screen.blit(self.platformBroken, (p[0], p[1] - self.cameray)) + self.screen.blit(self.imgPlatformBroken, (p[0], p[1] - self.cameray)) for accelerator in self.accelerators: if accelerator[-1]: - self.screen.blit(self.acceleratorUsed, (accelerator[0], accelerator[1] - self.cameray)) + self.screen.blit(self.imgAcceleratorUsed, (accelerator[0], accelerator[1] - self.cameray)) else: - self.screen.blit(self.accelerator, (accelerator[0], accelerator[1] - self.cameray)) - if pygame.Rect(accelerator[0], accelerator[1], self.accelerator.get_width(), self.accelerator.get_height()).colliderect(pygame.Rect(self.playerx, self.playery, self.playerRightUp.get_width(), self.playerRightUp.get_height())): + self.screen.blit(self.imgAccelerator, (accelerator[0], accelerator[1] - self.cameray)) + if pygame.Rect(accelerator[0], accelerator[1], self.imgAccelerator.get_width(), self.imgAccelerator.get_height()).colliderect(pygame.Rect(self.playerx, self.playery, self.imgPlayerRightUp.get_width(), self.imgPlayerRightUp.get_height())): self.jump = self.sy // 12 self.cameray -= self.sy // 12 accelerator[-1] = True @@ -171,14 +163,14 @@ class MolpyUp: on = self.sy while on > -self.sy // 6: x = random.randint(0,self.sx * 8 // 7) - platform = random.randint(0, 1000) - if platform < 800: - platform = 0 - elif platform < 900: - platform = 1 + platformType = random.randint(0, 1000) + if platformType < 800: + platformType = self.platformTypeNormal + elif platformType < 900: + platformType = self.platformTypeFloating else: - platform = 2 - self.platforms.append([x, on, platform, 0]) + platformType = self.platformTypeBreaking + self.platforms.append([x, on, platformType, 0]) on -= self.sy // 12 def drawGrid(self): @@ -186,6 +178,20 @@ class MolpyUp: pygame.draw.line(self.screen, (222,222,222), (x * 12, 0), (x * 12, self.sy)) pygame.draw.line(self.screen, (222,222,222), (0, x * 12), (self.sx, x * 12)) + def reset(self): + self.cameray = 0 + self.score = 0 + self.accelerators = [] + self.playerx = self.sx // 2 + self.playery = self.sy * 3 // 4 + self.direction = 0 + self.jump = 0 + self.gravity = 0 + self.xmovement = 0 + self.xmovementmax = 10 + self.platforms = [[self.playerx, self.playery + self.sy // 6, self.platformTypeNormal, 0]] + self.generatePlatforms() + def showScore(self): line1 = self.font.render("Press ENTER to restart,", -1, (0, 0, 0)) line2 = self.font.render("ESC to quit.", -1, (0, 0, 0)) @@ -207,18 +213,9 @@ class MolpyUp: elif key[K_ESCAPE]: sys.exit() - def reset(self): - self.cameray = 0 - self.score = 0 - self.accelerators = [] - self.playerx = self.sx // 2 - self.playery = self.sy * 3 // 4 - self.platforms = [[self.playerx, self.playery + self.sy // 6, 0, 0]] - self.generatePlatforms() - def run(self): clock = pygame.time.Clock() - self.generatePlatforms() + self.reset() while True: self.screen.fill((255,255,255)) clock.tick(60) @@ -235,5 +232,4 @@ class MolpyUp: self.reset() pygame.display.flip() - MolpyUp().run()