]> bicyclesonthemoon.info Git - ott/molpy-up/commitdiff
Cleaning up ...
authorPeter Gerwinski <peter.gerwinski@hs-bochum.de>
Thu, 29 Mar 2018 11:20:46 +0000 (13:20 +0200)
committerPeter Gerwinski <peter.gerwinski@hs-bochum.de>
Thu, 29 Mar 2018 11:20:46 +0000 (13:20 +0200)
molpyup.py

index 8b8d59e0779e341e81b2e0aa6d19397a41d6178b..f558d2e2dda2bda315899facc7aeac1c39280548 100644 (file)
@@ -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()