Skip to content

Commit da3ff3e

Browse files
Merge pull request #1 from XtheGxmerz0/main
update v1.0 branch
2 parents 5d9e99d + 3832b71 commit da3ff3e

File tree

1 file changed

+45
-30
lines changed

1 file changed

+45
-30
lines changed

v1.0/mrmine/main_script.py

Lines changed: 45 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,39 +7,54 @@
77
key_pressed = None
88

99
def keypress_listener():
10-
global key_pressed
11-
while True:
12-
key = detect_keypress_nonblocking()
13-
if key:
14-
key_pressed = key.lower()
15-
if key_pressed == '\x03': # Ctrl+C for interrupt
16-
raise KeyboardInterrupt
10+
global key_pressed
11+
while True:
12+
key = detect_keypress_nonblocking()
13+
if key:
14+
key_pressed = key.lower()
15+
if key_pressed == '\x03': # Ctrl+C for interrupt
16+
raise KeyboardInterrupt
1717

1818
def tick():
19-
global key_pressed
20-
while True:
21-
if key_pressed:
22-
key = key_pressed
23-
key_pressed = None
24-
print(f"Key registered: {key}")
25-
if key == 'up' or key == 'down':
26-
scroll(key)
27-
update_GUI()
28-
elif key in ["k", "q", "c", "s", "h", "u", " ", "p", "r"]:
29-
update_GUI_func(key)
30-
31-
def mrmine_start_game():
32-
os.system('clear')
33-
gui_init()
19+
global key_pressed
20+
while True:
21+
if key_pressed:
22+
key = key_pressed
23+
key_pressed = None
24+
print(f"Key registered: {key}")
25+
if key == 'up' or key == 'down':
26+
scroll(key)
3427
update_GUI()
28+
elif key in ["k", "q", "c", "s", "h", "u", " ", "p", "r"]:
29+
update_GUI_func(key)
3530

31+
def read_save_file_to_dict():
32+
save_data = {}
33+
with open('mrmine_save.txt', 'r') as file:
34+
for line in file:
35+
line = line.strip()
36+
if '=' in line: # Ensuring there's a key-value split
37+
key, value = line.split('=', 1) # Split on first '=' to handle complex values
3638
try:
37-
listener_thread = Thread(target=keypress_listener)
38-
listener_thread.daemon = True
39-
listener_thread.start()
39+
# Attempt to evaluate the value for correct data types
40+
save_data[key] = eval(value)
41+
except:
42+
# If eval fails, it's likely a string or ambiguous format
43+
save_data[key] = value
44+
return save_data
4045

41-
while True:
42-
tick()
43-
44-
except KeyboardInterrupt:
45-
print("Game interrupted, exiting...")
46+
def mrmine_start_game():
47+
os.system('clear')
48+
update_GUI()
49+
try:
50+
read_save_file_to_dict()
51+
except Exception:
52+
print("Error while loading save file.")
53+
try:
54+
listener_thread = Thread(target=keypress_listener)
55+
listener_thread.daemon = True
56+
listener_thread.start()
57+
while True:
58+
tick()
59+
except KeyboardInterrupt:
60+
print("Game interrupted, exiting...")

0 commit comments

Comments
 (0)