Как создать игру, отгадывая слово - PullRequest
0 голосов
/ 30 мая 2019

Я изучаю пролог, и у меня есть проблема, чтобы создать игру, угадай слово. Я написал некоторый код, чтобы прочитать слово списка в файле и вернуть случайное слово, но я не знаю, как проверить слово «угадать» из входных данных игрока и исходного слова.

При запуске игры покажите первую букву и спрятайте другие неизвестные буквы в .. Каждый раз при угадывании правильно размещенные буквы будут отображать !, а правильные буквы ?. Количество воспроизведенных чисел - это количество слов в исходном слове.

Мой первый код для чтения списка и выбора оригинального слова

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

Как я мог это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...