загружаю правки с разбора на уроке

This commit is contained in:
unknown 2024-01-14 21:24:14 +03:00
parent f19928dc76
commit 925efe8ac8
1 changed files with 10 additions and 14 deletions

View File

@ -80,6 +80,7 @@ def draw_field(window, field):
btn.bind('<Button-3>', right_button_click) btn.bind('<Button-3>', right_button_click)
btn.bind('<Enter>', lambda e, x=r, y=c: button_enter(field, x, y)) btn.bind('<Enter>', lambda e, x=r, y=c: button_enter(field, x, y))
buttons.append(btn) buttons.append(btn)
colorize(field, buttons)
def colorize(field, buttons): def colorize(field, buttons):
@ -98,19 +99,15 @@ def colorize(field, buttons):
def keypress_handler(e): def keypress_handler(e):
global ship_size 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 global field_mode
if f.keysym == 'm': if e.keysym.isnumeric():
ship_size = int(e.keysym)
else:
if e.keysym == 'm':
if field_mode == 0: if field_mode == 0:
field_mode = 1 field_mode = 1
else: else:
field_mode = 0 field_mode = 0
return field_mode
def left_button_click(field, row, col): 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 r in range(row - 1, row + 2):
for c in range(col - 1, col + 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() cell = (field[r * field_size + c]).strip()
if cell != '' and cell != 'p': if cell != '' and cell != 'p':
return False return False
@ -188,7 +185,6 @@ window = Tk()
window.title("Ship Craft!") window.title("Ship Craft!")
window.geometry('450x410') window.geometry('450x410')
window.bind_all('<KeyPress>', keypress_handler) window.bind_all('<KeyPress>', keypress_handler)
window.bind_all('<KeyPress>', keypress_handler_2)
set_ship(1, 1, 4, 1) set_ship(1, 1, 4, 1)
set_ship(0, 6, 3, 0) set_ship(0, 6, 3, 0)
set_ship(7, 3, 1, 0) set_ship(7, 3, 1, 0)