Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
 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
Beispiel #4
0
 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
Beispiel #5
0
 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)
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
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))
Beispiel #9
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))
Beispiel #10
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)
Beispiel #11
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)
Beispiel #12
0
    '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()
Beispiel #13
0
 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)
Beispiel #14
0
 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)
Beispiel #15
0
 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)
Beispiel #16
0
    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)
Beispiel #17
0
 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)
Beispiel #18
0
 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)
Beispiel #19
0
 def load_save(self):
     db = DB.load()
     self.games_won = db['save']['won']
     self.games_lost = db['save']['lost']
     self.points = db['save']['points']
Beispiel #20
0
 def load_save(self):
     db = DB.load()
     self.games_won = db['save']['won']
     self.games_lost = db['save']['lost']
     self.points = db['save']['points']
Beispiel #21
0
        '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()

Beispiel #22
0
 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)