77from operator import add , sub , floordiv , mul
88from datetime import datetime
99from pygame import mixer
10+ import sys
1011
1112
12- def resource_path (relative ):
13- return path .join (
14- environ .get (
15- "_MEIPASS2" ,
16- path .abspath ("." )
17- ),
18- relative
19- )
13+ system ('cls' )
14+
15+ exe_dir = path .dirname (sys .argv [0 ])
16+ chdir (exe_dir )
2017
2118
22- system ('cls' )
2319
24- chdir (path .dirname (path .abspath (__file__ )))
25- OUTPUT_PATH = Path (__file__ ).parent
20+ OUTPUT_PATH = exe_dir
2621ASSETS_PATH = OUTPUT_PATH / Path ("assets" )
2722
2823def relative_to_assets (path : str ) -> Path :
@@ -33,7 +28,7 @@ def relative_to_assets(path: str) -> Path:
3328window .geometry ("800x500" )
3429window .configure (bg = windowcolor )
3530window .title ('Tkinter Math Flash Cards' )
36- window .iconbitmap (resource_path ( 'main.ico' ) )
31+ window .iconbitmap ('main.ico' )
3732
3833startscreen_canvas = Canvas (window , bg = windowcolor , height = 500 , width = 800 , bd = 0 , highlightthickness = 0 , relief = "ridge" )
3934mainscreen_canvas = Canvas (window , bg = windowcolor , height = 500 , width = 800 , bd = 0 , highlightthickness = 0 , relief = "ridge" )
@@ -47,13 +42,13 @@ def relative_to_assets(path: str) -> Path:
4742
4843class sound_class ():
4944 mixer .init ()
50- sound_correct = mixer .Sound (resource_path ( "assets/sounds/correct.wav" ) )
51- sound_countdown_tick = mixer .Sound (resource_path ( "assets/sounds/countdowntick.wav" ) )
52- sound_timer_tick = mixer .Sound (resource_path ( "assets/sounds/timertick.wav" ) )
53- sound_wrong = mixer .Sound (resource_path ( "assets/sounds/wrong.wav" ) )
54- sound_buttonpress = mixer .Sound (resource_path ( "assets/sounds/buttonpress.wav" ) )
55- sound_win = mixer .Sound (resource_path ( "assets/sounds/win.wav" ) )
56- sound_times_up = mixer .Sound (resource_path ( "assets/sounds/timesup.wav" ) )
45+ sound_correct = mixer .Sound ("assets/sounds/correct.wav" )
46+ sound_countdown_tick = mixer .Sound ("assets/sounds/countdowntick.wav" )
47+ sound_timer_tick = mixer .Sound ("assets/sounds/timertick.wav" )
48+ sound_wrong = mixer .Sound ("assets/sounds/wrong.wav" )
49+ sound_buttonpress = mixer .Sound ("assets/sounds/buttonpress.wav" )
50+ sound_win = mixer .Sound ("assets/sounds/win.wav" )
51+ sound_times_up = mixer .Sound ("assets/sounds/timesup.wav" )
5752
5853 def muted_all_sounds (volume ):
5954 sound_class .sound_correct .set_volume (volume )
@@ -699,7 +694,7 @@ class data_class():
699694 key = b"Kcq-tBBR5XbbOyH15njkMwKsO41l4J_diMGNerJQsKU="
700695 fernet_key = Fernet (key )
701696 highscore_dict = {'*-classical-twominute' : 0 }
702- directory_path = resource_path ( 'users' )
697+ directory_path = 'users'
703698 user_data = []
704699 usertitle_buttons = [userscreen_class .button_usertitle0 , userscreen_class .button_usertitle1 , userscreen_class .button_usertitle2 , userscreen_class .button_usertitle3 ]
705700 useraction_buttons = [userscreen_class .button_useraction0 , userscreen_class .button_useraction1 , userscreen_class .button_useraction2 , userscreen_class .button_useraction3 ]
@@ -747,7 +742,7 @@ def clean_users():
747742
748743 def add_user (username , userlevel ):
749744 newuser_dictionary = {"userlevel" : userlevel , "displayname" : username , "highscore" : {'*-classical-twominute' : 0 }, "gamehistory" : []}
750- userfile = resource_path ( f"users/user{ userlevel } .json" )
745+ userfile = f"users/user{ userlevel } .json"
751746 jsondump = dumps (newuser_dictionary )
752747 encrypted_jsondump = data_class .fernet_key .encrypt (jsondump .encode ())
753748 with open (userfile , 'w' ) as file :
@@ -756,7 +751,7 @@ def add_user(username, userlevel):
756751
757752 def rename_user (userlevel , name ):
758753 data_class .user_data [userlevel ]['displayname' ] = name
759- userfile = resource_path ( f"users/user{ userlevel } .json" )
754+ userfile = f"users/user{ userlevel } .json"
760755 jsondump = dumps (data_class .user_data [userlevel ])
761756 encrypted_jsondump = data_class .fernet_key .encrypt (jsondump .encode ())
762757 with open (userfile , 'w' ) as file :
@@ -765,7 +760,7 @@ def rename_user(userlevel, name):
765760
766761 def remove_user (i ):
767762 empty_dictionary = {}
768- userfile = resource_path ( f"users/user{ i } .json" )
763+ userfile = f"users/user{ i } .json"
769764 jsondump = dumps (empty_dictionary )
770765 encrypted_jsondump = data_class .fernet_key .encrypt (jsondump .encode ())
771766 with open (userfile , 'w' ) as file :
@@ -780,7 +775,7 @@ def dump_highscore():
780775 usercount = - 1
781776 for dictionary in data_class .user_data :
782777 usercount += 1
783- userfile = resource_path ( f"users/user{ usercount } .json" )
778+ userfile = f"users/user{ usercount } .json"
784779 jsondump = dumps (dictionary )
785780 encrypted_jsondump = data_class .fernet_key .encrypt (jsondump .encode ())
786781 with open (userfile , 'w' ) as file :
0 commit comments