Предмет: Информатика, автор: ymi076611

проект на тему створити ігри.

морський бій на двох гравців.​

Ответы

Автор ответа: 98hazel12
0

# Функція для створення ігрового поля

def create_board():

board = []

for _ in range(10):

row = ["O"] * 10

board.append(row)

return board

# Функція для виведення ігрового поля на екран

def print_board(board):

for row in board:

print(" ".join(row))

# Функція для розміщення кораблів на ігровому полі

def place_ships(board, player):

print(f"Гравець {player}, розмістіть ваші кораблі.")

for ship in range(5):

print(f"Розмістіть корабль {ship+1}")

while True:

row = int(input("Введіть номер рядка (1-10): ")) - 1

col = int(input("Введіть номер стовпця (1-10): ")) - 1

if row in range(10) and col in range(10) and board[row][col] == "O":

board[row][col] = "X"

break

else:

print("Некоректні координати. Спробуйте ще раз.")

# Функція для виконання ходу гравця

def make_move(board, player):

print(f"Гравець {player}, ваш хід!")

while True:

row = int(input("Введіть номер рядка (1-10): ")) - 1

col = int(input("Введіть номер стовпця (1-10): ")) - 1

if row in range(10) and col in range(10):

if board[row][col] == "X":

print("Ви потопили корабель противника!")

board[row][col] = "!"

elif board[row][col] == "O":

print("Ви промахнулися!")

board[row][col] = "-"

else:

print("Ви вже стріляли в це місце. Спробуйте ще раз.")

continue

break

else:

print("Некоректні координати. Спробуйте ще раз.")

# Функція для перевірки чи закінчилася гра

def game_over(board):

for row in board:

if "X" in row:

return False

return True

# Основна програма

board1 = create_board()

board2 = create_board()

print("Гравець 1")

place_ships(board1, 1)

print("\nГравець 2")

place_ships(board2, 2)

while not game_over(board1) and not game_over(board2):

print("\nХід гравця 1")

print_board(board1)

make_move(board2, 1)

if game_over(board2):

break

print("\nХід гравця 2")

print_board(board2)

make_move(board1, 2)

print("\nГра закінчена!")

print("Гравець 1:")

print_board(board1)

print("\nГравець 2:")

print_board(board2)

Похожие вопросы
Предмет: История, автор: abdullahturab09