Guest User

Untitled

a guest
Feb 21st, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.72 KB | None | 0 0
  1. # Import av alla bilderna
  2. bgImg = "images/bg.jpg"
  3. groundImg = "images/ground.jpg"
  4. ballImg = "images/ball.png"
  5. testlampaImg = "images/testlampa.jpg"
  6.  
  7. # Import av moduler
  8. import pygame, sys
  9. from pygame import *
  10.  
  11. # Initierar pygame
  12. pygame.init()
  13.  
  14. # Sätter variabla skärmstorleken
  15. SCREEN_W, SCREEN_H = 1000, 600
  16.  
  17. # Skapar spelets klocka
  18. clock = pygame.time.Clock()
  19.  
  20. # Bygger rutan
  21. screen = pygame.display.set_mode((SCREEN_W,SCREEN_H), 0, 32)
  22.  
  23. # Laddar in bilderna
  24. backgroundBild = pygame.image.load(bgImg).convert()
  25. groundBild = pygame.image.load(groundImg).convert_alpha()
  26. ballBild = pygame.image.load(ballImg).convert_alpha()
  27. testlampaBild = pygame.image.load(testlampaImg).convert()
  28.  
  29. # Gravitationskonstanten
  30. gravity = 5000
  31.  
  32. #TEST collision
  33. collision = None
  34.  
  35. # Bollklassen
  36. class ballClass(pygame.sprite.Sprite):
  37.  
  38.     x, y = 450, 0  
  39.     def __init__(self,img):
  40.         pygame.sprite.Sprite.__init__(self)
  41.         self.width, self.height = img.get_size()
  42.         self.image = pygame.image.load(ballImg).convert_alpha()
  43.         self.isOnGround = False
  44.         self.speed = 0
  45.         self.rect = pygame.rect.Rect(self.x, self.y, self.width, self.height)
  46.         self.mask = pygame.mask.from_surface(self.image)
  47.         self.upForce = 0
  48.  
  49.     def get_pos(self):
  50.         return (self.x, self.y)
  51.  
  52.     def calculate_fallSpeed(self):
  53.         if self.speed > 100:
  54.             pass
  55.         else:
  56.             self.speed = self.speed + (seconds * gravity)
  57.  
  58.     def fall(self):
  59.         self.y = self.y + self.speed
  60.        
  61.     def stop(self):
  62.         self.speed = 0
  63.  
  64.     def jump(self):
  65.         if self.isOnGround == True:
  66.             pass
  67.            
  68. # Markklassen
  69. class markClass(pygame.sprite.Sprite):
  70.  
  71.     x, y = 0, 464  
  72.     def __init__(self,img):
  73.         pygame.sprite.Sprite.__init__(self)
  74.         self.width, self.height = img.get_size()
  75.         self.image = pygame.image.load(groundImg).convert_alpha()
  76.         self.isOnGround = False
  77.         self.speed = 0
  78.         self.rect = pygame.rect.Rect(self.x, self.y, self.width, self.height)
  79.         self.mask = pygame.mask.from_surface(self.image)
  80.  
  81.     def get_pos(self):
  82.         return (self.x, self.y)
  83.  
  84. # Skapar objekt av klassen ballClass och markClass
  85. ball = ballClass(ballBild)
  86. ground = markClass(groundBild)
  87.  
  88. # Kör huvudprogrammet
  89. while True:
  90.         clock.tick(60)
  91.         for event in pygame.event.get():
  92.                 if event.type == QUIT:
  93.                     pygame.quit()
  94.                     sys.exit()
  95.                 if event.type == KEYDOWN:
  96.                         if event.key == K_ESCAPE:
  97.                             pygame.quit()
  98.                             sys.exit()
  99.  
  100.                         if event.key == K_SPACE:
  101.                             ball.jump()
  102.                
  103.  
  104.         # Beräkna klockor och grejer
  105.         milli = clock.tick()
  106.         seconds = milli/1000.0
  107.        
  108.         # Köra gravitationsgrejer och flyttar bollen
  109.         if ball.isOnGround == True:
  110.             pass
  111.         else:
  112.             ball.calculate_fallSpeed()
  113.             ball.fall()              
  114.  
  115.  
  116.         # Kollar efter kollision
  117.         if collision != None:
  118.             ball.isOnGround = True
  119.             ball.stop()
  120.  
  121.         # Beräknar kollision
  122.         collision = pygame.sprite.collide_mask(ball, ground)
  123.         ball.rect = pygame.rect.Rect(ball.x, ball.y, ball.width, ball.height)
  124.         ground.rect = pygame.rect.Rect(ground.x, ground.y, ground.width, ground.height)
  125.  
  126.         # Blittar ut allt
  127.         screen.blit(backgroundBild, (0,0))
  128.         screen.blit(ground.image, (ground.get_pos()))
  129.         screen.blit(ball.image, (ball.get_pos()))
  130.        
  131.         # Update that shit
  132.         pygame.display.update()
Add Comment
Please, Sign In to add comment