Способы получения ответов в VP 5.2 - Prolog
Формулировка задачи:
Здравствуйте, переношу экспертную из консольной в Визуал, но столкнулся в проблемой остановки предиката, чтобы получить ответ пользователя, сколько не гуглил, нормального примера найти не могу(
Нужен любой пример понятный, чтобы остановить выполнение предиката в какой то момент, и сделать пользователю запрос на ответ Да/Нет, с помощью button'ов или же ввода с клавиатуры.
В консольной было просто с помощью readchar(_), а в Визуал, что то никак не получается((
Надеюсь на помощь!) И спасибо отклинувшимся)
Решение задачи: «Способы получения ответов в VP 5.2»
textual
Листинг программы
domains lists = list* list = string facts ingridient(string,string,lists) otvet_no(list) otvet_yes(list) predicates tip_blud(string,string) game_started(string) vopros_po_tipu(string) vopros_po_ingridient(lists) clauses game_started(Bludo):- tip_blud(X, Bludo),nl, vopros_po_tipu (X), ingridient (Name,X,Spisok),nl, vopros_po_ingridient (Spisok), write("Âû ìîæåòå ïîëó÷èòü ", X," - ", Name),nl. game_started(_):- write("ÈçâèГ*ГЁГІГҐ, Г*îëü ýìîöèé."),nl. vopros_po_tipu (Tip):-write("Âû õîòèòå ïðèãîòîâèòü "), write(Tip,"? (click y/n)"), readchar(Otvet), nl, Otvet='y'. vopros_po_ingridient ([]). vopros_po_ingridient ([H|T]):- otvet_yes(H),!, vopros_po_ingridient (T). vopros_po_ingridient ([H|_]):- otvet_no(H),!,fail. vopros_po_ingridient ([H|T]):- write("Âû èñïîëüçóåòå "), write(H,", ГЄГ*ГЄ ГЁГ*ãðèäèåГ*ГІ? (click y/n)"), readchar(Otvet), nl, Otvet ='y',!, assertz(otvet_yes(H)), vopros_po_ingridient (T). vopros_po_ingridient ([H|_]):-assertz(otvet_no(H)),fail. tip_blud ("pervoe","bludo"). tip_blud ("vtoroe","bludo"). ingridient ("Product 1", "pervoe",["ingridient 1", "ingridient 2"]). ingridient ("Product 2.", "pervoe", ["ingridient 2", "ingridient 3"]). ingridient ("Product 3.", "vtoroe",["ingridient 1"]). ingridient ("Product 4.", "vtoroe",["ingridient 4", "ingridient 5"]). goal game_started("bludo").
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д