Вы можете дать большинству реализаций 8ball больше доверия, чем они того заслуживают. Я думаю, что дело в том, что вопросы предназначены для ответов да / нет, поэтому предоставленные ответы должны охватывать только довольно предсказуемый набор возможностей.
Большинство известных мне сценариев 8ball ( пример ) просто используют массив и случайное число для получения ответа.
Магические боты 8ball очень популярны в irc, поскольку их очень легко реализовать - просто отвечайте на текст с помощью заданного маркера (в данном случае «.8») и отвечайте случайным ответом.
Я никогда не слышал о волшебном мяче 8, использующем детерминированный подход, стиль Cleverbot . На самом деле, пытаясь это сделать, я даже не уверен, насколько это детерминировано, поскольку большинство ответов также совершенно случайны и не связаны с тем, что я говорил.
// our answers array
String[] answers = [ "yes", "no", "for sure", "unlikely", "most certainly", "definitely not" ];
public String ask8Ball() {
// rand returns a float between 0>=res>1, the (int) cast rounds down
int index = (int)(java.lang.Math.random() * 7);
return answers[index];
}