В настоящее время я пытаюсь реализовать своего рода игру, основанную на Hilo, на прологе, в которой базовая функциональность c основана на установке секретного номера и на том, чтобы пользователь / программа угадали, что уйдет вперед " «Слишком низко» или «Слишком высоко».
Мой мыслительный процесс заключался в следующем: на любом другом языке я бы подумал об этом примерно так:
int secret_number = 50;
int guess = Console.ReadLine();
if(guess < secret_number) Console.WriteLine("Too low!");
else if(guess > secret_number) Console.WriteLine("Too high!");
else Console.WriteLine("You found the secret number!");
Моя попытка Воспроизведение этого в Прологе было другим, но сейчас он сидит по адресу:
secret_number(85).
hilo(Guess):-
Guess < secret_number, write("Too low!"),
Guess > secret_number, write("Too high!"),
write("You found the secret number!").
?-hilo(85).
Но любой, кто знаком с прологом, увидит, насколько это невероятно неправильно. Прежде всего, мы получаем ошибку Arithmeti c о том, что secret_number не является функцией. Чтобы противостоять этому, я попытался отправить secret_number
в качестве аргумента, а не использовать его в качестве «глобальной» переменной (как я на это смотрю), но, похоже, это не сильно помогает. Кроме того, мы также получаем провал цели (директивы), но я думаю, что в этом случае это нечто само собой разумеющееся.
Я понимаю, что это очень просто c но, как я понимаю Мы все должны начать где-нибудь. Любая помощь и указатели приветствуются!