From 3cb6dc31e1f6d46d9f4bb04ef1f56d4a56cad3a2 Mon Sep 17 00:00:00 2001 From: ehermakov Date: Sun, 11 Feb 2024 18:01:11 +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=BC=D0=B5=D0=B9=D0=BD=20=D1=81=20=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=BC=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=83=D1=80=D0=BE=D0=BA=D0=B0?= =?UTF-8?q?=20=2005022024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HNS/Excercises/ShipCraft/main.py | 54 ++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/HNS/Excercises/ShipCraft/main.py b/HNS/Excercises/ShipCraft/main.py index 9280732..80d4047 100644 --- a/HNS/Excercises/ShipCraft/main.py +++ b/HNS/Excercises/ShipCraft/main.py @@ -113,39 +113,50 @@ def keypress_handler(e): global field_mode_right if e.keysym.isnumeric(): - if active_field == 0: - ship_size_left = int(e.keysym) - else: - ship_size_right = int(e.keysym) + number = int(e.keysym) + if 1 <= number <= 4: + if active_field == 0: + ship_size_left = number + else: + ship_size_right = number else: if e.keysym == 'm': if active_field == 0: field_mode = field_mode_left else: field_mode = field_mode_right - if field_mode == 0: - field_mode = 1 - else: - field_mode = 0 - if active_field == 0: - field_mode_left = field_mode - else: - field_mode_right = field_mode + if field_mode == 0: + field_mode = 1 + else: + field_mode = 0 + + if active_field == 0: + field_mode_left = field_mode + else: + field_mode_right = field_mode def left_button_click(field, buttons, row, col): + global ship_size_left + global ship_direction_left + + global ship_size_right + global ship_direction_right + if active_field == 0: field_mode = field_mode_left + ship_size = ship_size_left + ship_direction = ship_direction_left else: field_mode = field_mode_right + ship_size = ship_size_right + ship_direction = ship_direction_right if field_mode == 0: - if check_possible(field, row, col): - if active_field == 0: - set_ship(field, row, col, ship_size_left, ship_direction_left) - else: - set_ship(field, row, col, ship_size_right, ship_direction_right) + if check_possible(field, row, col, ship_size, ship_direction): + set_ship(field, row, col, ship_size, ship_direction) + elif field_mode == 1: shoot(field, row, col) colorize(field, buttons) @@ -165,7 +176,6 @@ def right_button_click(d): field_mode = field_mode_right ship_direction = ship_direction_right - if field_mode == 0: if ship_direction == 0: ship_direction = 1 @@ -177,6 +187,7 @@ def right_button_click(d): else: ship_direction_right = ship_direction + def button_enter(field, buttons, row, col): global active_field global ship_direction_left @@ -188,7 +199,6 @@ def button_enter(field, buttons, row, col): global field_mode_left global field_mode_right - if buttons == my_buttons: active_field = 0 elif buttons == enemy_buttons: @@ -207,21 +217,17 @@ def button_enter(field, buttons, row, col): other_field = my_field other_buttons = my_buttons - for i in range(0, len(other_field)): if other_field[i] == "p": other_field[i] = '' colorize(other_field, other_buttons) - if field_mode == 0: for i in range(0, len(field)): if field[i] == "p": field[i] = '' - - if check_possible(field, row, col,ship_size, ship_direction): if ship_direction == 0: for r in range(row, row + ship_size): @@ -271,7 +277,7 @@ def check_blocked(field, row, col): window = Tk() window.title("Ship Craft!") -window.geometry('900x410') +window.geometry('940x410') window.bind_all('', keypress_handler) set_ship(my_field, 1, 1, 4, 1) set_ship(my_field,0, 6, 3, 0)