Один в море не воин. Добавим еще два корабля.

1 . Сделаем отдельно список кораблей и будем хранить в нем пары (списки) из двух координат кораблей.

2. Изменим проверку попадания, теперь сначала надо посмотреть весь список и решить, попали мы или нет.

3. Если попали, будем удалять корабль из списка и помечать их на поле с буквы S (ship)

4. Игра не заканчивается если потопить один корабль, значит надо изменить условие победы.

Исходный код:

from random import randint

board = []

row = 4 # Здесь можете изменить размерность нашего поля
col = row

for i in range (row):
board.append(["О"] * row)

print('1. Лёгкий: 12 попыток')
print('2. Средний: 8 попыток')
print('3. Сложный: 4 попытки')

level = int(input('Выбирай уровень сложности:'))

if level== 3:
game_hard_lvl = 4
elif level== 2:
game_hard_lvl = 8
else:
game_hard_lvl = 12

print('Начнём игру!')
for i in range(len(board)):
print((" ").join(board[i]))

ship_row = randint(0, row - 1)
ship_col = randint(0, col - 1)

for i in range(game_hard_lvl):
print('Ход', i+1 )
user_row = int(input('Введите номер строки от 0-3!'))
user_col = int(input('Введите номер колонки от 0-3!'))
if user_row == ship_row and user_col == ship_col:
print("Ты попал по кораблю ракетой! Победа!")
board[user_row][user_col] = 'S'
for i in range(len(board)):
print((" ").join(board[i]))
break

elif user_row < 0 or user_row > row - 1 or user_col < 0 or user_col > row - 1:
print("Введенные координаты не входят в игровое поле!")

elif board[user_row][user_col] == 'x':
print("На данные координаты уже была отправлена ракета!")
else:
print("Мимо! Ты не попал по кораблю ракетой!")
board[user_row][user_col] = 'x'

for i in range(len(board)):
print((" ").join(board[i]))

yuluamelyasova yuluamelyasova    3   25.07.2021 19:44    30

Другие вопросы по теме Информатика