-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
94 lines (63 loc) · 2.03 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import pygame as pg
from pygame.locals import *
from pygame.math import Vector2 as V2
from pygame.rect import Rect
from pygame.color import Color
import random as r
import sys
import json
import math
from Window import Window
from EventHolder import EventHolder
from Colors import Colors
from Assets import Assets
from CommonResources import CommonResources
from Game import Game
from Menu import Menu
from Mouse import Mouse
from modules.mygame.drawables import TextBox,TextView
from modules.mygame.structures import *
from functions import *
pg.init()
window = Window(V2(800,800))
event_holder = EventHolder()
colors = Colors()
assets = Assets()
common_resources = CommonResources.set_data(window,event_holder,assets,colors)
window.surface.fill([255,255,255])
loading = assets.font_monobold.render("Please wait while Loading...",True,(0,0,0))
c = Pos(window.rect.center)
c.x -= loading.get_width()/2
c.y -= loading.get_height()/2
window.surface.blit(loading,c)
pg.display.update()
game = Game()
menu = Menu()
mouse = Mouse()
f = pg.font.SysFont('monospace',30,bold=True)
font = lambda: f.render(f"FPS:{round(event_holder.final_fps)}",False,[80,12,25])
clock = pg.time.Clock()
event_holder.determined_fps = 125
event_holder.menu_fps = 60
while not event_holder.should_quit:
event_holder.get_events()
if event_holder.should_run_game:
game.check_events()
game.render(window.surface)
else:
menu.check_events()
menu.render(window.surface)
mouse.check_events()
mouse.render(window.surface)
if K_F3 in event_holder.pressed_keys:
event_holder.should_render_debug = not event_holder.should_render_debug
if K_F2 in event_holder.pressed_keys:
event_holder.is_dev = not event_holder.is_dev
if event_holder.should_render_debug:
window.surface.blit(font(),[0,0])
pg.display.update()
fps = event_holder.determined_fps
if not event_holder.should_run_game:
fps = event_holder.menu_fps
clock.tick(fps)
event_holder.final_fps = clock.get_fps()