Завдання . Створити програму, яка реалізує гру «Морський бій»
Якщо A[i][j] = 1, то у відповідній позиції знаходиться корабель. Гравець задає координати елементу масиву і «стріляє». Якщо елемент з указаними індексами дорівнює 1 Якщо A[i][j]=0 то виводиться повідомлення « Влучив! », значення лічильника влучень збільшується на 1 виводиться повідомлення « Не влучив! », місце влучення позначається кружком
Якщо гравець робить три невдалі спроби, виводиться повідомлення Якщо ж значення лічильника влучень зрівняється з кількістю кораблів, виводиться повідомлення «Ти програв!» «Ти виграв!»
x, y – координати комірок (позиція корабля) Sum — кількість кораблів на полі для гри. К — кількість влучень. sproba — кількість невлучних пострілів поспіль Розрахункові дані Повідомлення «Ти програв!», «Ти виграв!» Результати Якщо A[x][y] = 1, то К = К+1 інакше sproba = sproba+1 Якщо К = Sum, то виводиться повідомлення «Ти виграв!»; Якщо sproba = 3, то виводиться повідомлення «Ти програв!» Зв’язок між величинами 0 <= і <= 5 0 <= j <= 5 Обмеження на допустимі дані
Ответы
Ответ:
Ну, если язык неважен, то вот решение на C++
#include <iostream>
#include <Windows.h>
using namespace std;
const int ROWS = 6;
const int COLUMNS = 6;
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int A[ROWS][COLUMNS] =
{
{0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0}
};
int x, y;
int sum = 3;
int k = 0;
int sproba = 0;
while (k < sum && sproba < 3) {
cout << "Введіть координати для пострілу ";
cin >> x >> y;
if (A[x][y] == 1) {
cout << "Влучив!" << endl;
k++;
}
else {
cout << "Не влучив!" << endl;
sproba++;
}
}
if (k == sum) {
cout << "Ти виграв!" << endl;
}
else {
cout << "Ти програв!" << endl;
}
return 0;
}