Я хочу смоделировать действие и реакцию в Прологе. Например, в игре с двумя игроками в кости есть два элемента удачи и игры. Когда кости бросают низкое значение, это неудача, а когда игрок делает хороший ход, это хорошая игра. Таким образом, мы можем иметь эти примеры запросов:
reaction(good, luck, player).
reaction(bad, play, opponent).
Существует список реакций, таких как смайлики, которые выражают чувства игрока в отношении данного действия. И для каждого чувства, такого как счастье или гнев, существует более одного смайлика, но только один должен быть выбран предпочтительно случайно или с взвешенным случайным образом.
Я новичок в Прологе, и у меня возникают проблемы с моделированием этого в нем. Я хотел бы получить объяснения для достижения ответа вместо чистого кода для развития моего логического мышления.
Заранее спасибо.
Я также прочитал этот урок и попробовал это руководство по онтологии с чат-ботами.
Более подробные примеры
В игре четыре действия: неудача, удача, плохая игра, хорошая игра.
Все действия могут произойти с одним из двух игроков.
Например, оппонент бросает кубик с небольшим числом, запускает действие «противник неудачи», или игрок делает успешный ход, запускает действие «игрок с хорошей игрой».
Предикат реакции должен возвращать реакцию смайлика игрока на них в игровых действиях.
?- reaction(bad, luck, opponent).
the_face_with_tears_of_joy_emoji;
?- reaction(good, play, player).
arm_flexing_emoji;
?- reaction(good, play, opponent).
angry_face_emoji;