Advertisement
Guest User

something

a guest
Apr 24th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.94 KB | None | 0 0
  1. import pygame
  2. import random
  3. import sys
  4. import os
  5.  
  6. from settings import *
  7. from gamemap import*
  8. from lander import*
  9.  
  10. from os import path
  11. import pygame.freetype
  12.  
  13. class System:
  14.     def __init__(self):
  15.         pygame.init()
  16.         self.screen = pygame.display.set_mode((width,height))
  17.         pygame.display.set_caption("Propulsion simulation")
  18.         landerstuff = [pygame.image.load("assets/lander2.png"),
  19.                        pygame.image.load("assets/smoke.png")]
  20.         pygame.display.set_icon(landerstuff[0])
  21.         os.environ["SDL_VIDEO_CENTERED"] = "1"
  22.         self.clock = pygame.time.Clock()
  23.         pygame.key.set_repeat(500,100)
  24.         self.load_data()
  25.        
  26.     def load_data(self):
  27.         mainFolder = path.dirname(__file__)
  28.         imgFolder = path.join(mainFolder, "Assets/")
  29.         self.landerIMG = pygame.image.load(path.join(imgFolder, lander_IMG))
  30.         self.landerIMG = pygame.transform.scale(self.landerIMG, (landerWidth, landerHeight))
  31.         self.backgroundIMG = pygame.image.load(path.join(imgFolder, background_IMG)).convert_alpha()
  32.         self.backgroundIMG = pygame.transform.scale(self.backgroundIMG, (width, height))
  33.         self.map = Map(path.join(mainFolder, 'Maps/map.txt'))
  34.         self.rockIMG = pygame.image.load(path.join(imgFolder, rock_IMG)).convert_alpha()
  35.         self.rockIMG = pygame.transform.scale(self.rockIMG, (tileSize, tileSize))
  36.         self.rockIMG2 = pygame.image.load(path.join(imgFolder, rock_IMG2)).convert_alpha()
  37.         self.rockIMG2 = pygame.transform.scale(self.rockIMG2, (tileSize, tileSize))
  38.         self.rockIMG3 = pygame.image.load(path.join(imgFolder, rock_IMG3)).convert_alpha()
  39.         self.rockIMG3 = pygame.transform.scale(self.rockIMG3, (tileSize, tileSize))
  40.  
  41.     def new(self):
  42.         self.allSprites = pygame.sprite.Group()
  43.         self.lander = Lander(self, 10, 10)
  44.         self.rocks = pygame.sprite.Group()
  45.         for row, tiles in enumerate(self.map.data):
  46.             for col, tile in enumerate(tiles):
  47.                 if tile == '1':
  48.                     Rock(self, col, row)
  49.                 if tile == "(":
  50.                     Rock2(self, col, row)
  51.                 if tile == ")":
  52.                     Rock3(self, col, row)
  53.  
  54.         self.camera = Camera(self.map.width, self.map.height)
  55.  
  56.     def run(self):
  57.         self.playing = True
  58.         while self.playing:
  59.             self.dt = self.clock.tick(FPS) / 1000
  60.             if self.dt > 60:
  61.                 self.dt == 60
  62.                
  63.             self.events()
  64.             self.update()
  65.             self.draw()
  66.  
  67.     def quit(self):
  68.         pygame.quit()
  69.         sys.exit()
  70.  
  71.     def update(self):
  72.         self.allSprites.update()
  73.         self.camera.update(self.lander)
  74.  
  75.     def drawGrid(self):
  76.         for x in range(0, width, tileSize):
  77.             pygame.draw.line(self.screen, lightgrey, (x, 0), (x, height))
  78.         for y in range(0, height, tileSize):
  79.             pygame.draw.line(self.screen, lightgrey, (0, y), (width, y))
  80.  
  81.     def draw(self):
  82.         GAME_FONT = pygame.font.Font('freesansbold.ttf',15)
  83.         self.screen.fill((BGColour))
  84.         self.screen.blit(self.backgroundIMG,(0,0))
  85.        
  86.         text1 = str(("{:.2f}".format(self.clock.get_fps())))
  87.         text1 = GAME_FONT.render(("FPS: "+text1), True, (255, 255, 255))
  88.         self.screen.blit(text1, (0, 0))
  89.  
  90.         for sprite in self.allSprites:
  91.             self.screen.blit(sprite.image, self.camera.apply(sprite))
  92.         pygame.display.flip()
  93.  
  94.     def events(self):
  95.         for event in pygame.event.get():
  96.             if event.type == pygame.QUIT:
  97.                 self.quit()
  98.             if event.type == pygame.KEYDOWN:
  99.                 if event.key == pygame.K_ESCAPE:
  100.                     self.quit()
  101.  
  102.     def startScreen(self):
  103.         pass
  104.  
  105.     def deathScreen(self):
  106.         pass
  107.  
  108. g = System()
  109. g.startScreen()
  110. g.drawGrid()
  111.  
  112. while True:
  113.     g.new()
  114.     g.run()
  115.     g.startScreen()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement