Я изучаю пролог, и у меня есть проблема, чтобы создать игру, угадай слово.
Я написал некоторый код, чтобы прочитать слово списка в файле и вернуть случайное слово, но я не знаю, как проверить слово «угадать» из входных данных игрока и исходного слова.
При запуске игры покажите первую букву и спрятайте другие неизвестные буквы в .
. Каждый раз при угадывании правильно размещенные буквы будут отображать !
, а правильные буквы ?
. Количество воспроизведенных чисел - это количество слов в исходном слове.
Мой первый код для чтения списка и выбора оригинального слова
main:- open('dictomaire.txt',read,Str),
lire_mots(Str,Mots),
close(Str),
choix(Ele,Mots),
write(Ele).
lire_mots(Stream,[]):-at_end_of_stream(Stream).
lire_mots(Stream,[Mot|L]):- \+ at_end_of_stream(Stream),
read(Stream,Mot),
lire_mots(Stream,L).
choix(Ele,Dictionnaire):- randomize,
longueur(Dictionnaire,Long),
random(1,Long,N),
element_at(Ele,Dictionnaire,N).
longueur([],0).
longueur([_|Q],N1):- longueur(Q,N2), N1 is N2+1.
element_at(X,[],0).
element_at(X,[X|_],1).
element_at(X,[_|Q],N1):- element_at(X,Q,N2), N1 is N2+1.
Я хочу показать результат как в примере
result: L......
input: LOUANGE
result: !!?..?!
LO....E
input: LOGEUSE
result: !!!.?.!
LOG...E
input : LOGIQUE
result: !!!!!!!
LOGIQUE
Как я мог это сделать?