Javascript Node.js:telnet";石头、布、剪刀”;程序不工作
所以我试图创建这个石头、布、剪刀程序,在telnet服务器上运行。但它不允许我输入“石头”、“布”或“剪刀”等词Javascript Node.js:telnet";石头、布、剪刀”;程序不工作,javascript,node.js,telnet,Javascript,Node.js,Telnet,所以我试图创建这个石头、布、剪刀程序,在telnet服务器上运行。但它不允许我输入“石头”、“布”或“剪刀”等词 第一个CPUhand显示为未定义,未设置为我的if语句中的选项之一 第二,每当我在命令提示符中输入一个字符时,它就会给出我的“无效,重试!”else语句并跳到下一行 是否有人能够理解为什么我的CPUhand if语句不起作用,或者为什么我不能在命令提示符中输入多个字符 “严格使用”; 常数 净=需要(“净”), server=net.createServer(函数(连接){//c
“严格使用”;
常数
净=需要(“净”),
server=net.createServer(函数(连接){//createServer
设randomNum=randomnume(1,3);
让我们一起来
if(randomNum==1){
CPUhand==“岩石”;
}else if(randomNum==2){
CPUhand=“纸张”;
}else if(randomNum==3){
CPUhand=“剪刀”;
}
连接。写入(“输入:石头、布或剪刀!\r\n”);
connection.on('data',函数(块){//从用户收集数据
让USERhand=chunk.toString();
如果(CPUhand==“岩石”和&CPUhand==“剪刀”|用户手===“岩石”和&CPUhand==“剪刀”){
连接。写入(“石头打剪刀!\r\n”);
}
否则如果(CPUhand==“纸张”和&CPUhand==“岩石”|用户手===“纸张”和&CPUhand==“岩石”){
连接。写入(“纸击石!\r\n”);
}
否则如果(CPUhand==“剪刀”和&CPUhand==“纸”|用户手===“剪刀”和&CPUhand==“纸”){
连接。写入(“剪刀胜过纸!\r\n”);
}
else if(CPUhand==USERhand){
连接。写入(“绘制!\r\n”);
}
否则{
连接。写入(“无效!重试!\r\n”);
}
});
}); 听(5432)//绑定端口
函数随机数(最小值、最大值){
min=数学单元(min);
最大值=数学楼层(最大值);
返回Math.floor(Math.random()*(max-min+1))+min;
}
1)块中的打字错误:
if(randomNum==1){
CPUhand==“岩石”;
}否则…
应该是:
if(randomNum==1){
CPUhand=“岩石”;
}否则…
2) 在用户输入中,还有换行符号:
let USERhand=chunk.toString()代码>
替换为:
let USERhand=chunk.toString().trim()
.on('data')
在程序接收任何数据时触发,当您键入某个数据时,通常一次只触发一个字符。您必须将数据收集到变量中,直到它接收到换行符。另一个问题是,您试图用=
而不是=
来赋值。