def save_settings(self): db = DB.load() db['fullscreen'] = self.fullscreen db['difficulty'] = self.difficulty db['size'] = self.size db['caption'] = self.caption db['resizable'] = self.resizable DB.save(db)
def save_settings(self): db = DB.load() db['fullscreen'] = self.fullscreen db['difficulty'] = self.difficulty db['size'] = self.state.change_res db['caption'] = self.caption db['resizable'] = self.resizable DB.save(db)
def check_best_score(self): best = DB.load()['save']['shortest'] if not best: best = self.timelapse + 1 #change default None to become new best time if self.timelapse < best: db = DB.load() db['save']['shortest'] = self.timelapse DB.save(db) self.best = self.timelapse
def setup_buttons(self): self.buttons = [] button_config = { "clicked_font_color" : (0,0,0), "hover_font_color" : (205,195, 0), 'font' : tools.Font.load('impact.ttf', 18), 'font_color' : (255,255,255), 'border_color' : (0,0,0), 'clicked_color' : (255,255,255), 'hover_color' : (0,0,130), } width = 135 height = 25 if DB.load()['fullscreen']: #display opposite of current setting state = 'OFF' else: state = 'ON' self.fullscreen_toggle = button.Button((10,10,width,height),(0,0,100), self.toggle_fullscreen, text='Fullscreen: {}'.format(state), **button_config) y = 40 for res in DB.load()['resolution_options']: display = '{}x{}'.format(res[0], res[1]) b = button.Button((10,y,width,height),(0,0,100), lambda x=res:self.set_window(x), text=display, **button_config) self.buttons.append(b) y += 60 ''' self.window_button = button.Button((10,40,width,height),(0,0,100), lambda:self.set_window((640,360)), text='640x360', **button_config) self.window2_button = button.Button((10,70,width,height),(0,0,100), lambda:self.set_window((854,480)), text='854x480', **button_config) self.window3_button = button.Button((10,100,width,height),(0,0,100), lambda:self.set_window((1280,720)), text='1280x720', **button_config) ''' #self.default_button = button.Button((10,130,width,height),(0,0,100), # lambda:self.set_window(self.default_screensize), text=str(self.default_screensize[0])+'x'+str(self.default_screensize[1]), **button_config) self.sound_toggle = button.Button((10,160,width,height),(0,0,100), self.toggle_sound, text='Sound', **button_config) self.music_toggle = button.Button((10,160,width,height),(0,0,100), self.toggle_music, text='Music', **button_config) #self.buttons = [ self.window_button, #, self.default_button, self.fullscreen_toggle, # self.window2_button, self.window3_button]#, self.sound_toggle, self.music_toggle] self.button_spacer = 30 self.button_from_top = 80 for i, btn in enumerate(self.buttons): btn.rect.center = (self.screen_rect.x + self.screen_rect.width//2, self.screen_rect.y + i * self.button_spacer + self.button_from_top)
def __init__(self, screen_rect): tools.States.__init__(self) self.screen_rect = screen_rect self.bg_color = (255,255,255) self.setup_btns() self.timer = 0 self.best = DB.load()['save']['shortest'] self.update_label() self.overlay_orig = pg.Surface((screen_rect.width, screen_rect.height)) self.set_overlay() self.bg_orig = tools.Image.load('courtroom.jpg') self.bg = pg.transform.scale(self.bg_orig, (self.screen_rect.width, self.screen_rect.height)) self.bg_rect = self.bg.get_rect(center=self.screen_rect.center)
def __init__(self, screen_rect): tools.States.__init__(self) self.screen_rect = screen_rect self.bg_color = (255, 255, 255) self.setup_btns() self.timer = 0 self.best = DB.load()['save']['shortest'] self.update_label() self.overlay_orig = pg.Surface((screen_rect.width, screen_rect.height)) self.set_overlay() self.bg_orig = tools.Image.load('courtroom.jpg') self.bg = pg.transform.scale( self.bg_orig, (self.screen_rect.width, self.screen_rect.height)) self.bg_rect = self.bg.get_rect(center=self.screen_rect.center)
def __init__(self, screen_rect): tools.States.__init__(self) self.screen_rect = screen_rect self.overlay_bg = pg.Surface((screen_rect.width, screen_rect.height)) self.overlay_bg.fill(0) self.overlay_bg.set_alpha(200) self.overlay_card_position = (100, 200) self.bg_color = (255, 255, 255) self.setup_btns() self.current_color = None self.chosen_color = None self.user_blocks = [] self.turns = 0 self.number_of_blocks_wide = 14 self.number_of_blocks_high = 14 self.block_offsetY = 26 self.block_offsetX = 26 self.block_bufferX = 127 self.block_bufferY = 12 self.max_turns = 25 self.table = [] self.games_won = 0 self.games_lost = 0 self.points = 0 self.timelapse = 0 self.timer = 0 self.best = DB.load()['save']['shortest'] self.update_label() self.lost_game = False self.take_turn = True self.overlay = pg.Surface((screen_rect.width, screen_rect.height)) self.overlay.fill(0) self.overlay.set_alpha(200) self.board_bg_offset = 1 self.board_bg = pg.Surface([ self.number_of_blocks_wide * self.block_offsetX + (self.board_bg_offset), self.number_of_blocks_high * self.block_offsetY + (self.board_bg_offset * 2), ]).convert() self.board_bg.fill((0, 0, 0))
def __init__(self, screen_rect): tools.States.__init__(self) self.screen_rect = screen_rect self.overlay_bg = pg.Surface((screen_rect.width, screen_rect.height)) self.overlay_bg.fill(0) self.overlay_bg.set_alpha(200) self.overlay_card_position = (100,200) self.bg_color = (255,255,255) self.setup_btns() self.current_color = None self.chosen_color = None self.user_blocks = [] self.turns = 0 self.number_of_blocks_wide = 14 self.number_of_blocks_high = 14 self.block_offsetY = 26 self.block_offsetX = 26 self.block_bufferX = 127 self.block_bufferY = 12 self.max_turns = 25 self.table = [] self.games_won = 0 self.games_lost = 0 self.points = 0 self.timelapse = 0 self.timer = 0 self.best = DB.load()['save']['shortest'] self.update_label() self.lost_game = False self.take_turn = True self.overlay = pg.Surface((screen_rect.width, screen_rect.height)) self.overlay.fill(0) self.overlay.set_alpha(200) self.board_bg_offset = 1 self.board_bg = pg.Surface( [self.number_of_blocks_wide*self.block_offsetX+(self.board_bg_offset), self.number_of_blocks_high*self.block_offsetY+(self.board_bg_offset*2),] ).convert() self.board_bg.fill((0,0,0))
def setup_buttons(self): button_config = { "clicked_font_color" : (0,0,0), "hover_font_color" : (205,195, 0), 'font' : tools.Font.load('impact.ttf', 18), 'font_color' : (255,255,255), 'border_color' : (0,0,0), 'clicked_color' : (255,255,255), 'hover_color' : (0,0,130), } width = 135 height = 25 if DB.load()['fullscreen']: state = 'OFF' else: state = 'ON' self.fullscreen_toggle = button.Button((10,10,width,height),(0,0,100), self.toggle_fullscreen, text='Fullscreen: {}'.format(state), **button_config) self.window_button = button.Button((10,40,width,height),(0,0,100), lambda:self.set_window((640,360)), text='640x360', **button_config) self.window2_button = button.Button((10,70,width,height),(0,0,100), lambda:self.set_window((854,480)), text='854x480', **button_config) self.window3_button = button.Button((10,100,width,height),(0,0,100), lambda:self.set_window((1280,720)), text='1280x720', **button_config) self.default_button = button.Button((10,130,width,height),(0,0,100), lambda:self.set_window(self.default_screensize), text=str(self.default_screensize[0])+'x'+str(self.default_screensize[1]), **button_config) self.sound_toggle = button.Button((10,160,width,height),(0,0,100), self.toggle_sound, text='Sound', **button_config) self.music_toggle = button.Button((10,160,width,height),(0,0,100), self.toggle_music, text='Music', **button_config) self.buttons = [self.fullscreen_toggle]#, self.default_button, self.window_button, # self.window2_button, self.window3_button]#, self.sound_toggle, self.music_toggle] spacer = 30 from_top = 80 for i, btn in enumerate(self.buttons): btn.rect.center = (self.screen_rect.x + self.screen_rect.width//2, self.screen_rect.y + i * spacer + from_top)
'resizable': False, 'resolution_options': [(640, 360), (800, 600), (854, 480), (1280, 720)], 'save': { 'won': 0, 'lost': 0, 'points': 0, 'shortest': None, }, } parser = argparse.ArgumentParser( description='{} Arguments'.format(DEFAULT['caption'])) parser.add_argument('-c', '--clean', action='store_true', help='Remove all .pyc files and __pycache__ directories') args = vars(parser.parse_args()) if __name__ == '__main__': if args['clean']: data.tools.clean_files() else: if not DB.exists(): DB.save(DEFAULT) db = DEFAULT else: db = DB.load() print(db) main(**db) pg.quit()
def add_monitor_res(self): db = DB.load() if list(self.monitor) not in db['resolution_options']: db['resolution_options'].append(self.monitor) DB.save(db)
def write_save(self): db = DB.load() db['save']['won'] = self.games_won db['save']['lost'] = self.games_lost db['save']['points'] = self.points DB.save(db)
def setup_buttons(self): self.buttons = [] button_config = { "clicked_font_color": (0, 0, 0), "hover_font_color": (205, 195, 0), 'font': tools.Font.load('impact.ttf', 18), 'font_color': (255, 255, 255), 'border_color': (0, 0, 0), 'clicked_color': (255, 255, 255), 'hover_color': (0, 0, 130), } width = 135 height = 25 if DB.load()['fullscreen']: #display opposite of current setting state = 'OFF' else: state = 'ON' self.fullscreen_toggle = button.Button( (10, 10, width, height), (0, 0, 100), self.toggle_fullscreen, text='Fullscreen: {}'.format(state), **button_config) y = 40 for res in DB.load()['resolution_options']: display = '{}x{}'.format(res[0], res[1]) b = button.Button((10, y, width, height), (0, 0, 100), lambda x=res: self.set_window(x), text=display, **button_config) self.buttons.append(b) y += 60 ''' self.window_button = button.Button((10,40,width,height),(0,0,100), lambda:self.set_window((640,360)), text='640x360', **button_config) self.window2_button = button.Button((10,70,width,height),(0,0,100), lambda:self.set_window((854,480)), text='854x480', **button_config) self.window3_button = button.Button((10,100,width,height),(0,0,100), lambda:self.set_window((1280,720)), text='1280x720', **button_config) ''' #self.default_button = button.Button((10,130,width,height),(0,0,100), # lambda:self.set_window(self.default_screensize), text=str(self.default_screensize[0])+'x'+str(self.default_screensize[1]), **button_config) self.sound_toggle = button.Button((10, 160, width, height), (0, 0, 100), self.toggle_sound, text='Sound', **button_config) self.music_toggle = button.Button((10, 160, width, height), (0, 0, 100), self.toggle_music, text='Music', **button_config) #self.buttons = [ self.window_button, #, self.default_button, self.fullscreen_toggle, # self.window2_button, self.window3_button]#, self.sound_toggle, self.music_toggle] self.button_spacer = 30 self.button_from_top = 80 for i, btn in enumerate(self.buttons): btn.rect.center = (self.screen_rect.x + self.screen_rect.width // 2, self.screen_rect.y + i * self.button_spacer + self.button_from_top)
def set_window(self, newsize): print('resolution change may require restart to take effect!!!') self.change_res = newsize db = DB.load() db['size'] = list(newsize) DB.save(db)
def load_save(self): db = DB.load() self.games_won = db['save']['won'] self.games_lost = db['save']['lost'] self.points = db['save']['points']
'difficulty':'medium', 'size' :(500, 400), 'caption' :'Flood It', 'resizable' :False, 'save':{ 'won':0, 'lost':0, 'points':0, 'shortest':None, }, } parser = argparse.ArgumentParser(description='{} Arguments'.format(DEFAULT['caption'])) parser.add_argument('-c','--clean', action='store_true', help='Remove all .pyc files and __pycache__ directories') args = vars(parser.parse_args()) if __name__ == '__main__': if args['clean']: data.tools.clean_files() else: if not DB.exists(): DB.save(DEFAULT) db = DEFAULT else: db = DB.load() print(db) main(**db) pg.quit()