Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 25

Морской бой

25.02.2017, 18:48. Показов 387. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно добавить пару строк,чтобы программа писала "Убил" ,когда корабль был убит. Надеюсь на помощь.


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
const 
k=0;
type GPole = array[1..10,1..10] of integer;
var
i,j,q,b,chet:integer;
pole:gpole;
procedure Init (var Pole: GPole);
var x,y:integer;
begin
randomize;
for x:=1 to 10 do
for y:=1 to 10 do
Pole[x,y]:=0;
end;
function Freedom (x,y:integer; Pole:GPole):boolean;
const d:array[1..8,1..2] of integer =
      ((0,1),(1,0),(0,-1),(-1,0),(1,1),(-1,1),(1,-1),(-1,-1));
var i:integer;
    dx,dy:integer;
begin
if (x>0)and(x<11)and(y>0)and(y<11)and(Pole[x,y] = 0) then
 begin
  for i := 1 to 8 do
   begin
    dx:=x+d[i,1];
    dy:=y+d[i,2];
    if (dx>0)and(dx<11)and(dy>0)and(dy<11)and(Pole[dx,dy]>0) then
     begin
      result:=false;
      exit;
     end;
   end;
  result:=true;
 end
else result:=false;
end;
 
procedure Ships (var Pole: GPole);
var n,m,i:integer;
    x,y,kx,ky:integer;
    b:boolean;
begin
Init (Pole);
for n:=3 downto 0 do
for m:=0 to 3-n do
 repeat
  x:=random(10)+1;
  y:=random(10)+1;
  kx:=random(2);
  if kx=0 then ky:=1 else ky:=0;
  b:=true;
  for i:=0 to n do
  if not Freedom (x+kx*i,y+ky*i,Pole) then b:=false;
  if b then
  for i:=0 to n do
  Pole[x+kx*i,y+ky*i]:=1;
 until b;
end;
begin
chet:=0;
Ships(pole);
for i:=1 to 10 do 
begin
  for j:=1 to 10 do
  begin
write(pole[i,j]:2);
end;
writeln;
end;
  while chet<>1 do
begin
for i:=1 to 10 do 
begin
  for j:=1 to 10 do
  begin
  if pole[i,j] = 0 then
  inc(chet);
  end;
chet:=0;
Write('Введите номер строки ');
readln(q);
Write('Введите номер столбца ');
readln(b);
if pole[q,b]=1 then
begin
Writeln('Попал');
pole[q,b]:=0;
end
else
if pole[q,b]=0 then
Writeln('Не попал');
end; 
end;
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.02.2017, 18:48
Ответы с готовыми решениями:

Морской бой
Поле для игры в морской бой имеет размер N x N клеток. Клетки, занятые кораблями, содержат символ «X» (ASCII 88), а пустые клетки — символ...

Игра "Морской бой"
Здравствуйте, мне нужна помощь в реализации игры морской бой, сложность в том, что игра должна быть в графическом режиме. С чего начать,...

«Морской бой» - на Pascal
Имеется такой код. он отчасти рабочий, для начала напишу задание: «Морской бой» Первая строка входного файла INPUT.TXT содержит два...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2017, 18:48
Помогаю со студенческими работами здесь

Матрица. морской бой
Написать программу подсчета одно-, двух-, трех- и четырехпалубных кораблей, расположенных на поле игры &quot;Морской бой&quot;. Корабли...

Битва между офисами в морской бой
Само условие Битва между офисами Время: 1000ms, Память: 128MB, Сложность: 30%; Попытка: 11, Начислено баллов: 0 Среди офисных...

Морской бой: написать проверку для расстановки последнего корабля
program morskoi_boy ; var m, n: integer; a: array of char; f1, f2: text ; procedure vvod(n, m: integer ); var ...

Текстовый бой - как посчитать урон?
У меня есть два числа, hp и damage. Какой код нужно прописать чтобы из hp вычиталось damage, до тех пор пока hp не станет равно нулю. Нужно...

Морской Бой
Вопрос в том как сделать меню какоенибудь чтоб выбор в игре был пример 1-палубные и двух палобные там две три чтоб ставить можно было +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru