diff --git a/HNS/Excercises/ShipCraft/Переделка.rar b/HNS/Excercises/ShipCraft/Переделка.rar new file mode 100644 index 0000000..e528496 Binary files /dev/null and b/HNS/Excercises/ShipCraft/Переделка.rar differ diff --git a/HNS/Excercises/ShipCraft/Переделка/main.py b/HNS/Excercises/ShipCraft/Переделка/main.py index b57894a..77d9d44 100644 --- a/HNS/Excercises/ShipCraft/Переделка/main.py +++ b/HNS/Excercises/ShipCraft/Переделка/main.py @@ -128,23 +128,11 @@ def next_game_mode(): update_game_mode() -def prev_game_mode(): - global game_mode - - if game_mode == GameMode.END: - game_mode = GameMode.BATTLE - elif game_mode == GameMode.BATTLE: - game_mode = GameMode.PLAN - elif game_mode == GameMode.PLAN: - game_mode = GameMode.MENU - - update_game_mode() - - def update_game_mode(): global game_mode if game_mode == GameMode.MENU: + window.geometry('400x280') my_view.ship_field.set_field_mode(ShipMode.INACTIVE) enemy_view.ship_field.set_field_mode(ShipMode.INACTIVE) @@ -154,23 +142,33 @@ def update_game_mode(): savebutton.grid_forget() loadbutton.grid_forget() + start_button.grid(column=start_column_enemy_field, row=load_button_row, columnspan=4) + load_game_button.grid(column=start_column_enemy_field, row=load_button_row + 1, columnspan=4) + exit_button.grid(column=start_column_enemy_field, row=load_button_row + 2, columnspan=4) + hide_view(my_view) hide_view(enemy_view) elif game_mode == GameMode.PLAN: + window.geometry('1020x640') my_view.ship_field.set_field_mode(ShipMode.PUT) enemy_view.ship_field.set_field_mode(ShipMode.INACTIVE) - lbl_lower_enemy_horizontal.grid(column=start_column_enemy_field, row=row_horizontal_separator, columnspan=10) - lbl_lower_horizontal.grid(column=start_column_my_field, row=row_horizontal_separator, columnspan=10) + lbl_lower_enemy_horizontal.grid(column=start_column_my_field, row=row_horizontal_separator, columnspan=10) + lbl_lower_horizontal.grid(column=start_column_enemy_field, row=row_horizontal_separator, columnspan=10) savebutton.grid(column=start_column_my_field, row=load_button_row, columnspan=4) loadbutton.grid(column=start_column_my_field + 6, row=load_button_row, columnspan=4) + start_button.grid(column=start_column_my_field, row=load_button_row + 1, columnspan=4) + load_game_button.grid_forget() + exit_button.grid_forget() + show_view(my_view, start_column_my_field, start_row_my_field) show_view(enemy_view, start_column_enemy_field, start_row_enemy_field) elif game_mode == GameMode.BATTLE: + window.geometry('1020x640') my_view.ship_field.set_field_mode(ShipMode.INACTIVE) enemy_view.ship_field.set_field_mode(ShipMode.SHOOT) @@ -180,10 +178,15 @@ def update_game_mode(): savebutton.grid_forget() loadbutton.grid_forget() + start_button.grid_forget() + load_game_button.grid_forget() + exit_button.grid_forget() + show_view(my_view, start_column_my_field, start_row_my_field) show_view(enemy_view, start_column_enemy_field, start_row_enemy_field) elif game_mode == GameMode.END: + window.geometry('400x280') my_view.ship_field.set_field_mode(ShipMode.INACTIVE) enemy_view.ship_field.set_field_mode(ShipMode.INACTIVE) @@ -193,22 +196,22 @@ def update_game_mode(): savebutton.grid_forget() loadbutton.grid_forget() + start_button.grid_forget() + load_game_button.grid_forget() + exit_button.grid_forget() + hide_view(my_view) hide_view(enemy_view) - game_mode_stringvar.set(str(game_mode)) + lbl_left_vertical.grid(column=start_column_my_field - 1, row=start_row_my_field) + lbl_center_vertical.grid(column=col_vertical_separator, row=start_row_my_field) + lbl_upper_horizontal.grid(column=start_column_my_field, row=start_row_my_field - 1) window = Tk() window.title("Ship Craft!") -window.geometry('1020x640') window.bind_all('', keypress_handler) -game_mode = GameMode.MENU -game_mode_stringvar = StringVar() - -game_mode_stringvar.set(str(game_mode)) - start_column_my_field = 1 start_row_my_field = 1 @@ -224,16 +227,11 @@ my_view = create_view(window) enemy_view = create_view(window) active_view = my_view -if start_column_my_field > 0: - lbl_left_vertical = Label(window, text='', width=5, height=2) - lbl_left_vertical.grid(column=start_column_my_field - 1, row=start_row_my_field) - +lbl_left_vertical = Label(window, text='', width=5, height=2) lbl_center_vertical = Label(window, text='', width=5, height=2) -lbl_center_vertical.grid(column=col_vertical_separator, row=start_row_my_field) +lbl_upper_horizontal = Label(window, text='', width=5, height=2) + -if start_row_my_field > 0: - lbl_upper_horizontal = Label(window, text='', width=5, height=2) - lbl_upper_horizontal.grid(column=start_column_my_field, row=start_row_my_field - 1) lbl_lower_horizontal = Label(window, text='', width=50, height=2, textvariable=my_view.remaining_ship_text) lbl_lower_enemy_horizontal = Label(window, text='', width=50, height=2, textvariable=enemy_view.remaining_ship_text) @@ -242,13 +240,13 @@ lbl_lower_enemy_horizontal = Label(window, text='', width=50, height=2, textvari savebutton = Button(window, text='Save', width=20, height=2, command=lambda: savebutton_click(my_view)) loadbutton = Button(window, text='Load', width=20, height=2, command=lambda: loadbutton_click(my_view)) -lbl_game_mode = Label(window, text='', width=50, height=2, textvariable=game_mode_stringvar) -lbl_game_mode.grid(column=start_column_my_field + 6, row=load_button_row + 1, columnspan=10) +start_button = Button(window, text='START', width=20, height=2, command=next_game_mode) +load_game_button = Button(window, text='LOAD', width=20, height=2) +exit_button = Button(window, text='EXIT', width=20, height=2) -prev_button = Button(window, text='<=', width=20, height=2, command=prev_game_mode) -prev_button.grid(column=start_column_my_field, row=load_button_row + 1, columnspan=4) -next_button = Button(window, text='>=', width=20, height=2, command=next_game_mode) -next_button.grid(column=start_column_enemy_field + 6, row=load_button_row + 1, columnspan=4) +game_mode = GameMode.MENU +update_game_mode() window.mainloop() +