Advertisement
Slazaa

server.py

Oct 17th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.10 KB | None | 0 0
  1. import os
  2. import msvcrt
  3. import time
  4.  
  5. import engine.engine as engine
  6.  
  7. FPS = 60
  8.  
  9. class Game:
  10.  
  11.     def __init__(self):
  12.         self.renderer = engine.Renderer(79, 25)
  13.         self.camera = engine.Camera(23, 4)
  14.         self.launched = True
  15.         self.all_sprites = []
  16.  
  17.         self.map = engine.Sprite(self.camera, 0, 1, 0, 0, " ")
  18.         self.map.set_from_file("saves/map.sav")
  19.         self.all_sprites.append(self.map)
  20.  
  21.         self.main_player = engine.Player(self.camera, self.renderer.width // 2 - self.camera.x, self.renderer.height // 2 - self.camera.y)
  22.         self.all_sprites.append(self.main_player)
  23.  
  24.         self.hud = engine.Hud(self.camera, self.main_player, self.renderer.width, self.renderer.height)
  25.  
  26.     def update(self):
  27.         for i in range(0, len(self.all_sprites)):
  28.             self.all_sprites[i].update(self.camera)
  29.  
  30.         self.hud.update(self.main_player)
  31.  
  32.     def render(self):
  33.         self.renderer.clear()
  34.         os.system("cls")
  35.  
  36.         for i in range(0, len(self.all_sprites)):
  37.             self.renderer.draw_sprite(self.all_sprites[i])
  38.  
  39.         self.renderer.draw_sprite(self.hud.hp_hud)
  40.  
  41.         self.renderer.present()
  42.  
  43.     def input(self):
  44.         input = msvcrt.getch()
  45.  
  46.         if input == b'z' and self.renderer.area[self.main_player.rel_y - 1][self.main_player.rel_x] == " ":
  47.             self.main_player.move(0, -1)
  48.             self.camera.move(0, 1)
  49.         elif input == b'q' and self.renderer.area[self.main_player.rel_y][self.main_player.rel_x - 1] == " ":
  50.             self.main_player.move(-1, 0)
  51.             self.camera.move(1, 0)
  52.         elif input == b's' and self.renderer.area[self.main_player.rel_y + 1][self.main_player.rel_x] == " ":
  53.             self.main_player.move(0, 1)
  54.             self.camera.move(0, -1)
  55.         elif input == b'd' and self.renderer.area[self.main_player.rel_y][self.main_player.rel_x + 1] == " ":
  56.             self.main_player.move(1, 0)
  57.             self.camera.move(-1, 0)
  58.  
  59.         if input == b'\x1b':
  60.             self.launched = False
  61.  
  62.     def main_loop(self):
  63.         while(self.launched):
  64.             frame_start = time.time()
  65.  
  66.             self.update()
  67.             self.render()
  68.  
  69.             frame_time = time.time() - frame_start
  70.  
  71.             if frame_time > 1000 / FPS:
  72.                 time.sleep(frame_time - 1000 / FPS)
  73.  
  74.             self.input()
  75.  
  76.     def run(self):
  77.         self.main_loop()
  78.  
  79.  
  80. game = Game()
  81. game.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement