Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js:telnet";石头、布、剪刀”;程序不工作_Javascript_Node.js_Telnet - Fatal编程技术网

Javascript Node.js:telnet";石头、布、剪刀”;程序不工作

Javascript Node.js:telnet";石头、布、剪刀”;程序不工作,javascript,node.js,telnet,Javascript,Node.js,Telnet,所以我试图创建这个石头、布、剪刀程序,在telnet服务器上运行。但它不允许我输入“石头”、“布”或“剪刀”等词 第一个CPUhand显示为未定义,未设置为我的if语句中的选项之一 第二,每当我在命令提示符中输入一个字符时,它就会给出我的“无效,重试!”else语句并跳到下一行 是否有人能够理解为什么我的CPUhand if语句不起作用,或者为什么我不能在命令提示符中输入多个字符 “严格使用”; 常数 净=需要(“净”), server=net.createServer(函数(连接){//c

所以我试图创建这个石头、布、剪刀程序,在telnet服务器上运行。但它不允许我输入“石头”、“布”或“剪刀”等词

  • 第一个CPUhand显示为未定义,未设置为我的if语句中的选项之一
  • 第二,每当我在命令提示符中输入一个字符时,它就会给出我的“无效,重试!”else语句并跳到下一行 是否有人能够理解为什么我的CPUhand if语句不起作用,或者为什么我不能在命令提示符中输入多个字符

    “严格使用”;
    常数
    净=需要(“净”),
    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')
    在程序接收任何数据时触发,当您键入某个数据时,通常一次只触发一个字符。您必须将数据收集到变量中,直到它接收到换行符。另一个问题是,您试图用
    =
    而不是
    =
    来赋值。