Elaria1
05.11.2020 00:08

Задание: Модификация.

Что еще можно придумать с игрой "Морской бой"?

Например, добавить второго игрока - компьютер, который будет делать ход после игрока.

Таким образом цель игры станет набрать больше очков, чем компьютер.

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

А что если заменить обычные обозначения X и S на смайлики? Например и .

Придумайте как можно улучшить созданную на уроке игру и модифицируйте ее так, как захотите✨

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

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]))

print('Игра окончена!')

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Zumman
13.06.2022 03:10
Const
  n=20;
var
  p:array[1..n] of integer;
  i,k,s:integer;
begin
  Randomize;
  Writeln('Последовательность чисел');
  for i:=1 to n do
  begin
    p[i]:=Random(51)-25;
    Write(p[i],' ')
  end;
  Writeln;
  k:=0; s:=0; i:=1;
  repeat
    if p[i]>0 then begin s:=s+p[i]; Inc(k) end;
    Inc(i);
  until (k=4) or (i>n);
  Writeln('Сумма первых четырех положительных чисел равна ',s)
end.
   
Тестовое решение:
Последовательность чисел
-12 6 -21 5 -10 11 19 19 19 17 21 -4 -14 12 2 0 -20 10 17 -14
Сумма первых четырех положительных чисел равна 41
0,0(0 оценок)
Ответ:
svetlanaivanova3
06.07.2021 03:13
Static void Main(string[] args) 
       {
            int[,] arr = new int[3, 3];
            Random c = new Random(DateTime.Now.Millisecond);
            for (int i = 0; i < 3; i++)                           
                     for (int j = 0; j < 3; j++)
                          arr[i, j] = c.Next(1, 9);          //заполнение матрицы
                                                                   //тебе это не надо, т.к. она дана           
            //заданный интервал
            int a = 3;
            int b = 3;
            int sum = 0;
            int proizvedenie = 1;
            for (int i = 0; i < a; i++)
            {
                for (int j = 0; j < b; j++)
                {
                    sum += arr[i, j];
                    proizvedenie *= arr[i, j];
                }
            }
            Console.WriteLine("Матрица:");
            Console.WriteLine("{0} {1} {2}", arr[0, 0], arr[0, 1], arr[0, 2]);                   Console.WriteLine("{0} {1} {2}", arr[1, 0], arr[1, 1], arr[1, 2]);            Console.WriteLine("{0} {1} {2}", arr[2, 0], arr[2, 1], arr[2, 2]);            Console.WriteLine("Сумма = {0}", sum);            Console.WriteLine("Произведение = {0}", proizvedenie);            Console.ReadLine();     
   }
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота