From 925efe8ac80aa052d4b36e9cf9130e96d58672cb Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 14 Jan 2024 21:24:14 +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=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D1=81=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=B1=D0=BE=D1=80=D0=B0=20=D0=BD=D0=B0=20=D1=83?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HNS/Excercises/ShipCraft/main.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/HNS/Excercises/ShipCraft/main.py b/HNS/Excercises/ShipCraft/main.py index 44cd4b1..b05d62f 100644 --- a/HNS/Excercises/ShipCraft/main.py +++ b/HNS/Excercises/ShipCraft/main.py @@ -80,6 +80,7 @@ def draw_field(window, field): btn.bind('', right_button_click) btn.bind('', lambda e, x=r, y=c: button_enter(field, x, y)) buttons.append(btn) + colorize(field, buttons) def colorize(field, buttons): @@ -98,19 +99,15 @@ def colorize(field, buttons): def keypress_handler(e): global ship_size - if 1 <= int(e.keysym) <= 4: - ship_size = int(e.keysym) - return ship_size - - -def keypress_handler_2(f): global field_mode - if f.keysym == 'm': - if field_mode == 0: - field_mode = 1 - else: - field_mode = 0 - return field_mode + if e.keysym.isnumeric(): + ship_size = int(e.keysym) + else: + if e.keysym == 'm': + if field_mode == 0: + field_mode = 1 + else: + field_mode = 0 def left_button_click(field, row, col): @@ -177,7 +174,7 @@ def check_blocked(field, row, col): # либо находятся за пределами поля, либо в них нет корабля/они пустые for r in range(row - 1, row + 2): for c in range(col - 1, col + 2): - if 0 < r < field_size and 0 < c < field_size: + if 0 <= r < field_size and 0 <= c < field_size: cell = (field[r * field_size + c]).strip() if cell != '' and cell != 'p': return False @@ -188,7 +185,6 @@ window = Tk() window.title("Ship Craft!") window.geometry('450x410') window.bind_all('', keypress_handler) -window.bind_all('', keypress_handler_2) set_ship(1, 1, 4, 1) set_ship(0, 6, 3, 0) set_ship(7, 3, 1, 0)