-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
50 lines (42 loc) · 1.58 KB
/
Copy pathapp.py
File metadata and controls
50 lines (42 loc) · 1.58 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
# python_/app.py
import traceback
import threading
from package_init import package_init
from threads import *
import sys
game = package_init()
DONE = threading.Event()
def termination_callback():
print("Terminating all threads...")
DONE.set()
sys.exit()
def initialise_threads(game, app):
threading.Thread(target=main_learning_thread, args=(game, DONE, termination_callback), daemon=True).start()
#threading.Thread(target=test_worker, args=(game, app, DONE), daemon=True).start()
#threading.Thread(target=save_level_worker, args=(game, DONE, True), daemon=True).start()
#threading.Thread(target=show_object_position, args=(game, DONE), daemon=True).start()
#threading.Thread(target=play_layer_test, args=(game, DONE), daemon=True).start()
#threading.Thread(target=test_gameData, args=(game, DONE), daemon=True).start()
# Register the termination callback
#threading.Thread(target=termination_callback, daemon=True).start()
return 1
def main():
global DONE
# Instantiate AppDelegate
try:
app_delegate = game.AppDelegate()
except Exception as e:
print(f"Failed to create AppDelegate instance: {e}")
traceback.print_exc()
return
print('Starting the game...')
# Start game_runner in a separate thread
#threading.Thread(target=test_worker, args=(app_delegate, ), daemon=True).start()
initialise_threads(game, app_delegate)
try:
game.run()
except KeyboardInterrupt:
print("Game is terminated by user.")
termination_callback()
if __name__ == "__main__":
main()