М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Denmatyanov
Denmatyanov
30.06.2022 11:58 •  Информатика

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

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

👇
Открыть все ответы
Ответ:
mssvetochkaki
mssvetochkaki
30.06.2022

Если текущее число равно n, то последняя цифра в нем - остаток от деления на 10. В цикле проверяем, если последняя цифра числа 8, то увеличиваем переменную-счетчик восьмерок. После этого отбрасываем последнюю цифру. В конце полученное количество умножаем на 1000 и выводим на экран.

Код (C++):

#include <iostream>

int main() {

 int n, count = 0;

 std::cin >> n;

 while (n > 0) {

     if (n % 10 == 8) count++;

     n /= 10;

 }

 std::cout << count * 1000;

}

Пример ввода:

88880

Пример вывода:

4000

4,4(98 оценок)
Ответ:
жмлпр
жмлпр
30.06.2022

Функция должна возвращать значение. Пусть катеты a и b, тогда она должна вернуть a * b / 2. Проверки входных параметров я не провожу, считая, что они корректны:

Код (Pascal):

function area(a, b: real): real;

begin

 area := a * b / 2;

end;

begin

 write(area(2, 2)) { должно вывести 2 }

end.

Процедура не возвращает значение. Чтобы она смогла-таки как-то сообщить основной программе результат, используем аргумент, перед которым указываем var.

Код (Pascal):

procedure area(a, b: real; var c: real);

begin

 c := a * b / 2;

end;

var S: real;

begin

 area(2, 2, S);

 write(S) { должно вывести 2 }

end.

4,6(92 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ