-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmemorykings.py
53 lines (42 loc) · 1.43 KB
/
memorykings.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
import pygame
import sys
from mkings.constants import FPS, BACKGROUND
from mkings.screens import ScreenManager
from mkings.display import Display
from mkings.game import Game
from mkings.stats import Stats
from mkings.assets import Asset
def main(HINT=None, MONITOR=None):
pygame.init()
game = Game() # Init all main game variables.
stats = Stats() # Init all data collection variables.
display = Display(HINT, MONITOR) # Init the display.
asset = Asset(display) # Load all the images.
pygame.display.set_icon(Asset.image["icon.png"])
screen_manager = ScreenManager() # Init the Screen Manager.
pygame.event.clear() # Clear any lingering Event.
# START MENU LOOP
screen_manager.start_menu(game, display)
# DATA COLLECTION START
stats.collect_start_data(game)
# GENERATE BOARD AND PLAYERS
game.create_board()
game.create_players()
display._set_corner(game.board)
# GAME LOOP
screen_manager.game_screen(game, display)
# DATA COLLECTION END
stats.collect_end_data(game)
stats.write_data()
# RESET BUTTON CLICKED DURING A GAME
if screen_manager._interrupt is True:
game._reset()
return main(display.HINT, display.MONITOR)
# END SCREEN LOOP
screen_manager.end_screen(game, display)
if game._reset_game is True:
return main(display.HINT, display.MONITOR)
pygame.quit()
sys.exit()
if __name__ == "__main__":
main()