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)
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
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)
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')
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
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
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