-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcore.py
More file actions
74 lines (66 loc) · 2.07 KB
/
core.py
File metadata and controls
74 lines (66 loc) · 2.07 KB
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
import sys
import pygame
from pygame.locals import *
from time import time as now
# Mini Games Library
sys.path.append("./mini_games")
from minigame_manager import get_minigame
from load_settings import load_input_mask
class App:
def __init__(self):
pygame.init()
self.fpsClock = pygame.time.Clock()
# Globals
self.FPS = 60
self.BG_COLOR = (40,40,40)
self.TITLE = "234 player games"
self.WIDTH, self.HEIGHT = 1600,900
self.screen = pygame.display.set_mode((1280,720),RESIZABLE)
self.frame = 0
self.running = True
self.inputs = None
pygame.display.set_caption(self.TITLE)
self.input_mask = load_input_mask("Q_Keyboard",6)
self.tank_game = get_minigame(1,self,2,"assets/maps.json","desert1")
def extract_inputs(self,pressed):
input_list = []
for key in self.input_mask:
input_list.append(pressed[key])
self.inputs = tuple(input_list)
def HandleInputs(self):
pressed = pygame.key.get_pressed()
self.extract_inputs(pressed)
def RenderFrame(self):
SIZE = pygame.display.get_surface().get_size()
self.screen.fill(self.BG_COLOR)
self.tank_game.RunFrame(self.screen,self.inputs,SIZE)
pygame.display.flip()
def HandleEvents(self):
for event in pygame.event.get():
if event.type == QUIT:
self.Kill()
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
self.Kill()
if event.type == "No":
if event.key == K_a:
self.tank_game.editor.place_object(pygame.mouse.get_pos())
if event.key == K_f:
self.tank_game.editor.release()
if event.key == K_r:
self.tank_game.editor.rotate(45)
def Kill(self):
pygame.quit()
sys.exit()
def Run(self):
# Game loop.
while self.running:
self.HandleInputs()
self.RenderFrame()
self.HandleEvents()
#self.tank_game.editor.update(pygame.mouse.get_pos())
self.fpsClock.tick(self.FPS)
self.frame+=1
if __name__ == "__main__":
ThisApp = App()
ThisApp.Run()