Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 09.12.2013
Сообщений: 37

Морской бой (расставить одиночные корабли)

04.11.2014, 02:00. Показов 2070. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводим :show(10, [[S,2,8],[S,1,1],[S, 4, 7]])
получаем:
S _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ S _ _
_ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ S _ _ _
_ _ _ _ _ _ _ _ _ _ , ну и дальше, 5 пустых рядов

Вот мой код:
Prolog
1
2
3
4
5
6
7
8
9
show(N,Figures):- show_index(Figures,N,N,1).
 
show_index(_,_,0,0):-!.
 
show_index(Figures,W,I,J):-member([F,I,J],Figures),!,write(' '),write(F), J1=J+1, show_index(Figures,W,I,J1).
 
show_index(Figures,W,I,W1):- 1=W1-W,!,nl,I1=I-1,show_index(Figures,W,I1,0).
 
show_index(Figures,W,I,J):-write(' -'), J1=J+1, show_index(Figures,W,I,J1).
Писал на Swi Prolog.
Что ни делал, застреваю на последней строчки
Помогите, люди добрые!

Добавлено через 36 минут
Размерность я сохраняю, так как должна задаваться произвольно.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2014, 02:00
Ответы с готовыми решениями:

Игра "Морской Бой"
Здравствуйте. Мне необходимо написать игру Морской Бой с использованием dll, написанного на прологе. На текущем этапе я сделал генерацию...

Морской бой, как расставить корабли?
Делаю игру Морской бой, используя DrawGrid Как расставить корабли?

Расставить корабли в игре Морской Бой
вот сделал игру морсой бой не могу раставить корабли помогите за рание спасибо #include <iostream> #include <iomanip> ...

2
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
04.11.2014, 02:17
Лучший ответ Сообщение было отмечено Владимир1917 как решение

Решение

Не по теме:

Зачем лепить всё в одну строчку?


Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
show(N, Figures):- show_index(Figures, 1, 1, N).
 
get_symbol(Figures, I, J, F):- 
    member([F, I, J], Figures),
    !.
get_symbol(_, _, _, '-').
    
show_index(_, I, _, N):-
    I > N,
    !.
show_index(Figures, I, J, N):-
    J > N,
    !,
    nl,
    I1 is I+1,
    show_index(Figures, I1, 1, N).
show_index(Figures, I, J, N):-
    get_symbol(Figures, I, J, F), 
    write(' '), write(F),  
    J1 is J+1,  
    show_index(Figures, I, J1, N).
1
1 / 1 / 0
Регистрация: 09.12.2013
Сообщений: 37
04.11.2014, 02:23  [ТС]
Думал, как "большой" смогу...
Видно, не дорос. Надо постепенно, выполняя минимальные действия.

Добавлено через 12 секунд
Black Fregat, благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2014, 02:23
Помогаю со студенческими работами здесь

Морской бой. Корабли
Как создать корабли и расположить их в WinAPI?

Игра морской бой - как расставлять корабли
Решил написать игру чтоб опыта набраться. Вот возникла проблема: в верху формы расположены 4 кнопки(4вида кораблей) и ниже расположено...

Игра морской бой: никак не придумаю как лучше реализовать корабли в игре
Пишу игру "Морской бой" на c# и никак не решу как лучше реализовать в программе корабли.

Нужно написать такую программу чтоб на поле в игре морской бой программа расставляла корабли
Причем каждый раз по новому расставляла корабли. Подскажите как?)

Расположить случайным образом корабли как в игре "Морской бой"
Здравствуйте, подскажите пожалуйста как возможно реализовать следующее задание: Морской бой. Напечатать заготовку для игры в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
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