Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Minesweeper
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
mstd mstd вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.09.2005
По умолчанию Minesweeper - 06.10.2005, 14:25

Возможно ли написать декларативную программу которая могла бы найти все мины и все безопасные клетки на заданном поле (т.е. решалка игры minesweeper).
Кода этой программы не прошу, просто пока не понимаю с чего здесь начать....

Мои идеи:
Код:
корректная_клетка(Мины,Кл1,Кл2,...,Кл8) :- кол-во-мин(Кл1..Кл8) = Мины, и в этом месте надо как-то подбирать значения Кл1..Кл8=мина/не мина.
решение(Поле) :- все_клетки(Поле,Клетка), известное_число(Клетка), корректная_клетка(Клетка,Клетка_слева,Клетка_слевавверху,....).
Я на верном пути, или нет?
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,864
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 07.10.2005, 23:32

Цитата:
Возможно ли написать декларативную программу которая могла бы найти все мины и все безопасные клетки на заданном поле (т.е. решалка игры minesweeper).
Нет. В общем случае всегда есть клетки, внутри которых находится мина с какой-то вероятностью и в этом случае надо просто выбирать на удачу.

Цитата:
Кода этой программы не прошу, просто пока не понимаю с чего здесь начать....
1. Открыть наугад соседние клетки.
2. Единственно, что можно потом сделать детерминированно - определить те клетки, в которых есть мина с вероятностью = 1, и в которых нет мины с вероятностью = 1.
3. Найти клетку, в которой есть мина с наименьшей вероятностью и открыть её. Если мины нет - перейти к пункту второму.

Формализовать второй путь очень легко. Думаю Вы справитесь. Самую большую трудность я вижу не во втором пункте, а в третьем.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов