1

多年来,我一直在模式匹配聊天机器人中使用以下内容。一个人在输入框中输入内容,聊天机器人在输出框中做出响应。

这只是一系列“if 语句”,而这只是其中的一小部分。

如果有人输入“是”,机器人会回复以下内容,但我提出问题的消息 4 除外。一旦提出这个问题,它将不再触发我想要的。

我不想一遍又一遍地问这个问题。这一切直到最近才奏效。我不知道为什么它不再起作用。

var yes_q4_asked="false";

if (input.search("yes")!= -1) {  
message[0] = "ok, yes it is."; 
message[1] = "yes, I suppose so."; 
message[2] = "ok, I understand."; 
message[3] = "ok, I guess so."; 
message[4] = "yeah, I reckon so. Say what color are your eyes?"; 
message[5] = "yes, I thought as much."; 
num = [Math.floor(Math.random()*6)]
if ((num==4) && (yes_q4_asked=="false"))
{ 
yes_q4_asked=="true";
document.result.result.value = message[num];
return true;
}
while (num==4)
{
num = [Math.floor(Math.random()*6)]
}
document.result.result.value = message[num]; 
return true;} 
4

2 回答 2

3

有人发现了我的问题。上面代码中的这一行:

yes_q4_asked=="true";

应该:

yes_q4_asked="true";

one =不是two ==

于 2013-04-23T23:04:07.040 回答
0
  • document.result.result.你确定这是正确的吗?
  • var yes_q4_asked="false";为什么不使用布尔值?
于 2013-04-23T11:33:55.443 回答