загружаю дз 1

This commit is contained in:
ehermakov 2023-11-20 20:13:03 +03:00
parent a542bdbb47
commit e03dbac060
1 changed files with 7 additions and 6 deletions

View File

@ -8,7 +8,7 @@ field_size = 10
ship_size = 4 ship_size = 4
ship_direction = 0 ship_direction = 0
empty_field = ['1', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', empty_field = [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
@ -118,23 +118,24 @@ def check_possible(field, row, col):
if ship_direction == 0: if ship_direction == 0:
if field_size - row >= ship_size: if field_size - row >= ship_size:
if check_blocked(field, row, col):
# Здесь мы знаем, что корабль помещается на поле. # Здесь мы знаем, что корабль помещается на поле.
# Теперь нужно проверить, не заблокировано ли какое-то из полей, # Теперь нужно проверить, не заблокировано ли какое-то из полей,
# на которые мы хотим поставить корабль. # на которые мы хотим поставить корабль.
# Для этого, всего поля, на которые мы его поставили бы исходя из координат row, col # Для этого, всего поля, на которые мы его поставили бы исходя из координат row, col
# нужно проверить с помощью вызова метода check_blocked(...) # нужно проверить с помощью вызова метода check_blocked(...)
return True return True
if ship_direction == 1: if ship_direction == 1:
if field_size - col >= ship_size: if field_size - col >= ship_size:
# Здесь мы знаем, что корабль помещается на поле. if check_blocked(field, row, col):
# Теперь нужно проверить, не заблокировано ли какое-то из полей, # Теперь нужно проверить, не заблокировано ли какое-то из полей,
# на которые мы хотим поставить корабль. # на которые мы хотим поставить корабль.
# Для этого, всего поля, на которые мы его поставили бы исходя из координат row, col # Для этого, всего поля, на которые мы его поставили бы исходя из координат row, col
# нужно проверить с помощью вызова метода check_blocked(...) # нужно проверить с помощью вызова метода check_blocked(...)
return True return True
return False return False
def check_blocked(field, row, col): def check_blocked(field, row, col):
@ -161,4 +162,4 @@ window.geometry('450x410')
# set_ship(9, 2, 4, 1) # set_ship(9, 2, 4, 1)
# draw_field(window, my_field) # draw_field(window, my_field)
# window.mainloop() # window.mainloop()
print(check_blocked(my_field, 0, 0)) print(check_possible(my_field, 0, 0))