-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
60 lines (48 loc) · 1.47 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from wad import WadData
from settings import *
import pygame as pg
import sys
from map_render import MapRender
from player import Player
from bsp import BSP
from view_render import ViewRender
from seg_handler import SegHandler
class DoomEngine:
def __init__(self, wad_path=r"C:\Users\grima\PycharmProjects\Doom_Python_Remake\WAV\DOOM.WAD"):
self.wad_path = wad_path
self.screen = pg.display.set_mode((WIN_RES))
self.clock = pg.time.Clock()
self.running = True
self.dt = 1/60
self.init()
def init(self):
self.wad_data = WadData(self, map_name="E3M1")
self.map_render = MapRender(self)
self.player = Player(self)
self.bsp = BSP(self)
self.seg_handler = SegHandler(self)
self.view_render = ViewRender(self)
def update(self):
self.player.update()
self.seg_handler.update()
self.bsp.update()
self.dt = self.clock.tick()
pg.display.set_caption(f"{self.clock.get_fps()}")
def draw(self):
pg.display.flip()
# self.screen.fill("black")
# self.map_render.draw()
def check_events(self):
for e in pg.event.get():
if e.type == pg.QUIT:
self.running = False
def run(self):
while self.running:
self.check_events()
self.update()
self.draw()
pg.quit()
sys.exit()
if __name__ == "__main__":
Doom = DoomEngine()
Doom.run()