From 9e7c7c9a74b621fabc3a5e7d0836e262ac112398 Mon Sep 17 00:00:00 2001 From: ehermakov Date: Sun, 23 Jun 2024 22:11:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6=D0=B0?= =?UTF-8?q?=D1=8E=20=D0=BA=D0=BE=D0=B4=20=D0=BF=D0=BE=20=D0=B8=D1=82=D0=BE?= =?UTF-8?q?=D0=B3=D0=B0=D0=BC=2024=20=D1=87=D0=B0=D1=81=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HNS/Excercises/ShipCraft/Переделка.rar | Bin 0 -> 33724 bytes HNS/Excercises/ShipCraft/Переделка/main.py | 70 ++++++++++----------- 2 files changed, 34 insertions(+), 36 deletions(-) create mode 100644 HNS/Excercises/ShipCraft/Переделка.rar diff --git a/HNS/Excercises/ShipCraft/Переделка.rar b/HNS/Excercises/ShipCraft/Переделка.rar new file mode 100644 index 0000000000000000000000000000000000000000..e528496efe66c75c027877c6c4d0d78aa9f6e010 GIT binary patch literal 33724 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 literal 0 HcmV?d00001 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() +