Beispiel #1
0
 def __init__(self, screen):
     self.screen = screen
     self.back_img = image.load("img/water-texture_(23).jpg")
     self.ships_num = [1, 2, 3, 4]
     self.select_win_hori = SelectWindow(self.screen, 1)
     self.select_win_vert = SelectWindow(self.screen, -1)
     self.select_win_vert.create_select_ships()
     self.select_win_hori.create_select_ships()
     self.select_win = self.select_win_vert
     self.turn_button = ButtonsSelectWin(self.screen, "TURN", 7)
     self.auto_button = ButtonsSelectWin(self.screen, "AUTO", 8)
     self.play_button = ButtonsSelectWin(self.screen, "PLAY ", 9)
Beispiel #2
0
class Select(object):
    def __init__(self, screen):
        self.screen = screen
        self.back_img = image.load("img/water-texture_(23).jpg")
        self.ships_num = [1, 2, 3, 4]
        self.select_win_hori = SelectWindow(self.screen, 1)
        self.select_win_vert = SelectWindow(self.screen, -1)
        self.select_win_vert.create_select_ships()
        self.select_win_hori.create_select_ships()
        self.select_win = self.select_win_vert
        self.turn_button = ButtonsSelectWin(self.screen, "TURN", 7)
        self.auto_button = ButtonsSelectWin(self.screen, "AUTO", 8)
        self.play_button = ButtonsSelectWin(self.screen, "PLAY ", 9)

    def update(self):
        self.screen.blit(self.back_img, (0, 0))
        self.screen.fill(COLOR_SELECT_WINDOW,
                         (MEDIUM, 0, MEDIUM, SIZE_FIELD * HEIGHT))
        self.screen.blit(self.back_img, (MEDIUM + WIDTH * 3 // 2, HEIGHT * 2),
                         (0, 0, WIDTH * 2, HEIGHT * 4))
        draw_grid(self.screen, 0)
        self.select_win.draw_select_window()
        self.select_win.print_num_not_used()
        self.turn_button.draw_button()
        self.auto_button.draw_button()
        self.play_button.draw_button()

    def turn_select_win(self, player):
        if self.select_win == self.select_win_vert:
            self.select_win = self.select_win_hori
        else:
            self.select_win = self.select_win_vert
        self.select_win.ships_num = player.ships_num
        self.update()
        for player_ship in player.ships:
            player_ship.draw(self.screen)
        display.flip()

    def automatic_placement(self, player, AI):
        player.field = [[' '] * SIZE_FIELD for i in range(SIZE_FIELD)]
        player.ships = []
        player.log = []
        AI.add_ships(player, self.screen)
        ships_num = [0, 0, 0, 0]
        self.select_win.ships_num = player.ships_num = ships_num
        self.update()
        for player_ship in player.ships:
            player_ship.draw(self.screen)
        display.flip()
        return ships_num
Beispiel #3
0
height = width      # Window height


base_name = os.path.splitext(os.path.basename(sys.argv[0]))[0]
SlTrace.setLogName(base_name)
SlTrace.lg("%s %s\n" % (os.path.basename(sys.argv[0]), " ".join(sys.argv[1:])))
###SlTrace.setTraceFlag("get_next_val", 1)
SlTrace.setTraceFlag("part_info", 1)
""" Flags for setup """
app = None                  # Application window ref
frame = None
###canvas = None
        
mw = Tk()
app = SelectWindow(mw,
                title="SelectWindow Testing",
                pgmExit=pgm_exit,
                )        
sar = None                                  # select arrangement control
arc = app.arrange_control()                 # Start up control, currently required

ew_display = 3
ew_select = 5
ew_standoff = 5

width = app.get_current_val("window_width", width)
width = int(width)
height = app.get_current_val("window_height", height)
height = int(height)
nx = app.get_current_val("figure_columns", nx)
ny = app.get_current_val("figure_rows", ny)
Beispiel #4
0
mw.update()
bs_in = int(tkMath.inchesToPixels(g.bSize))
w = bs_in + 200
h = bs_in + 100

g.nSol = None  # Solution window number

g.top_fr = Frame(mw)
g.top_fr.pack(side='top')
control_fr = Frame(g.top_fr)
control_fr.pack(side='top')
app = SelectWindow(
    g.Display_mw,
    title="Playing Sudoku",
    arrange_selection=False,
    pgmExit=prime_exit,
    file_open=file_open,
)
app.add_menu_command("Puzzle", file_open)  # Dedicated puzzle menu item
app.add_menu_command("Contols", set_controls)  # Display variable controls
mw.geometry(f"{w}x{h}")
mw.update()

solve_puzzle = Button(
    control_fr,
    text="Solve Puzzle",  # Guess all remaining
    command=solve_main_puzzle,
)
solve_puzzle.pack(side='left')
Beispiel #5
0
def check_mod(part, mod_type=None, desc=None):
    global sp
    """ called before and after each part modificatiom
    """
    if sp is not None:
        sp.check_mod(part, mod_type=mod_type, desc=desc)


app = None  # Application window ref
frame = None
###canvas = None

mw = Tk()
app = SelectWindow(mw,
                   title="crs_squares Testing",
                   pgmExit=pgm_exit,
                   cmd_proc=True,
                   cmd_file=None,
                   arrange_selection=False)
mw.lift()
mw.attributes("-topmost", True)


def is_in_pgm_args(flag):
    """ Test if flag present in pgm args
    Looks for flag and -flag and --flag
    :flag: flag string
    """
    args = sys.argv[1:]
    for arg in args:
        if flag == "-" + arg:
            return True
Beispiel #6
0
def setup_app():
    """ Setup / Resetup app window
    :returns: app reference
    """
    global app, first_set_app
    global mw, width, height
    global run_resets, min_xlen, nx, ny, loop, loop_after, show_ties 
    global speed_step
    global first_app_set
    global board_change

        
    if first_set_app:
        app = SelectWindow(mw,
                        title="Dots",
                        pgmExit=play_exit,
                        cmd_proc=True,
                        cmd_file=None,
                        file_open=file_open,
                        file_save=file_save,
                        arrange_selection=False,
                        game_control=game_control
                        )
        app.add_menu_command("CmdFile", cmd_file)
        app.add_menu_separator()
        app.add_menu_command("NewGame", new_game)
        app.add_menu_separator()
        app.add_menu_command("Run", run_cmd)
        app.add_menu_command("Pause", pause_cmd)
        app.add_menu_command("Step", step_cmd)
        app.add_menu_separator()
        app.add_menu_separator()
        app.add_menu_command("Players", show_players_window)
        app.add_menu_command("Game Control", show_score_window)
        app.add_menu_command("Score", show_score_window)
    
        if is_in_pgm_args("loop"):
            game_control.set_prop_val("running.loop", loop)
        else:
            loop = game_control.get_prop_val("running.loop", loop)
            
        if is_in_pgm_args("loop_after"):
            game_control.set_prop_val("running.loop_after", loop_after)
        else:
            loop_after = game_control.get_prop_val("running.loop_after", loop_after)
            
        if is_in_pgm_args("run_resets"):
            game_control.set_prop_val("scoring.run_resets", run_resets)
        else:
            run_resets = game_control.get_prop_val("scoring.run_resets", run_resets)
            
        if is_in_pgm_args("show_ties"):
            game_control.set_prop_val("scoring.show_ties", show_ties)
        else:
            show_ties = game_control.get_prop_val("scoring.show_ties", show_ties)
            
        if is_in_pgm_args("speed_step"):
            game_control.set_prop_val("running.speed_step", speed_step)
        else:
            speed_step = game_control.get_prop_val("running.speed_step", speed_step)
            
        if is_in_pgm_args("min_xlen"):
            game_control.set_prop_val("viewing.min_xlen", min_xlen)
        else:
            min_xlen = game_control.get_prop_val("viewing.min_xlen", min_xlen)
            
        if is_in_pgm_args("nx"):
            game_control.set_ctl("viewing.columns", nx)
        else:
            nx = game_control.get_prop_val("viewing.columns", nx)
            
        if is_in_pgm_args("ny"):
            game_control.set_ctl("viewing.rows", ny)
        else:
            ny = game_control.get_prop_val("viewing.rows", ny)

    loop = game_control.get_prop_val("running.loop", loop)
    loop_after = game_control.get_prop_val("running.loop_after", loop_after)
    speed_step = game_control.get_prop_val("running.speed_step", speed_step)
    run_resets = game_control.get_prop_val("scroring.run_resets", run_resets)
    show_ties = game_control.get_prop_val("scoring.show_ties", show_ties)
    min_xlen = game_control.get_prop_val("viewing.min_xlen", min_xlen)    
    nx = game_control.get_prop_val("viewing.columns", nx)    
    ny = game_control.get_prop_val("viewing.rows", ny)
            
    if not is_in_pgm_args("width"):        
        width = app.get_current_val("window_width", width)
        if width < 100:
            width = 100
    width = int(width)
    if not is_in_pgm_args("height"):
        height = app.get_current_val("window_height", height)
        if height < 100:
            height = 100
    height = int(height)
    
    if not is_in_pgm_args("nx"):
        nx = app.get_current_val("figure_columns", nx)
    if not is_in_pgm_args("ny"):
        ny = app.get_current_val("figure_rows", ny)
        

        
        
    return app
Beispiel #7
0
def setup_app(app_old):
    """ Setup / Resetup app window
    :app: current app instance
    :returns: new app reference
    """
    global first_set_app
    global mw, width, height, game_control
    global run_resets, min_xlen, nx, ny, loop, loop_after, show_ties 
    global speed_step
    global first_app_set
    
    if game_control is not None:
        game_control.destroy()
        game_control = None
            
    if app_old is not None:
        app_old.destroy()
        ###return app_old
        
    app = SelectWindow(mw,
                    title="crs_squares",
                    pgmExit=play_exit,
                    cmd_proc=True,
                    cmd_file=None,
                    arrange_selection=False
                    )
    
    game_control = app.get_game_control()
    if first_set_app:
        if is_in_pgm_args("loop"):
            game_control.set_prop_val("running.loop", loop)
        else:
            loop = game_control.get_prop_val("running.loop", loop)
            
        if is_in_pgm_args("loop_after"):
            game_control.set_prop_val("running.loop_after", loop_after)
        else:
            loop_after = game_control.get_prop_val("running.loop_after", loop_after)
            
        if is_in_pgm_args("run_resets"):
            game_control.set_prop_val("scoring.run_resets", run_resets)
        else:
            run_resets = game_control.get_prop_val("scoring.run_resets", run_resets)
            
        if is_in_pgm_args("show_ties"):
            game_control.set_prop_val("scoring.show_ties", show_ties)
        else:
            show_ties = game_control.get_prop_val("scoring.show_ties", show_ties)
            
        if is_in_pgm_args("speed_step"):
            game_control.set_prop_val("running.speed_step", speed_step)
        else:
            speed_step = game_control.get_prop_val("running.speed_step", speed_step)
            
        if is_in_pgm_args("min_xlen"):
            game_control.set_prop_val("viewing.min_xlen", min_xlen)
        else:
            min_xlen = game_control.get_prop_val("viewing.min_xlen", min_xlen)
            
        if is_in_pgm_args("nx"):
            game_control.set_ctl("viewing.columns", nx)
        else:
            nx = game_control.get_prop_val("viewing.columns", nx)
            
        if is_in_pgm_args("ny"):
            game_control.set_ctl("viewing.rows", ny)
        else:
            ny = game_control.get_prop_val("viewing.rows", ny)
    else:
        loop = game_control.get_prop_val("running.loop", loop)
        loop_after = game_control.get_prop_val("running.loop_after", loop_after)
        speed_step = game_control.get_prop_val("running.speed_step", speed_step)
        run_resets = game_control.get_prop_val("scroring.run_resets", run_resets)
        show_ties = game_control.get_prop_val("scoring.show_ties", show_ties)
        min_xlen = game_control.get_prop_val("viewing.min_xlen", min_xlen)    
        nx = game_control.get_prop_val("viewing.columns", nx)    
        ny = game_control.get_prop_val("viewing.rows", ny)
            
    if not is_in_pgm_args("width"):        
        width = app.get_current_val("window_width", width)
        if width < 100:
            width = 100
    width = int(width)
    if not is_in_pgm_args("height"):
        height = app.get_current_val("window_height", height)
        if height < 100:
            height = 100
    height = int(height)
    
    if not is_in_pgm_args("nx"):
        nx = app.get_current_val("figure_columns", nx)
    if not is_in_pgm_args("ny"):
        ny = app.get_current_val("figure_rows", ny)
        

    
    app.add_menu_command("NewGame", new_game)
    app.add_menu_command("Players", show_players_window)
    app.add_menu_command("Score", show_score_window)
    app.add_menu_command("CmdFile", cmd_file)
    app.add_menu_command("Run", run_cmd)
    app.add_menu_command("Pause", pause_cmd)
        
        
    return app