猜数字

您所在的位置:网站首页 灯泡打一数字 猜数字

猜数字

2024-03-21 11:19| 来源: 网络整理| 查看: 265

进入js后,果然和之前的差别很大,很绕,就很烧脑,思维不灵活的时候真的太难了。

下面就分享一个小游戏,猜数字。

猜数字:

1: 电脑生成一个不重复的四位随机数,主函数进行获取。      1.1问题:主函数获取后输出时,输出了undefined,原因是我生成四位不重复的随机数时没给返回值。      1.2问题:生成四位不重复随机数时我用了for循环(循环四次),将随机数赋值给集合进行去重,之后用if语句判断集合长                                度为4的时候,将集合转数组输出,但是出现了问题就是集合长度不为4时,直接跳出循环。只有等于四时才输出一个                        四位数,处理方法是在用if判断循环最后一次集合长度是否小于4,小于就count++。或者将循环次数写很大(我就不行                      循环几百次我还能重复,如果可以我想买彩票),这种方法有点发麻也不好理解,后面我改进用了while循环,while就                      可以随便你循环多少次,反正集合长度为4的时候,你才给我输出,不然你别想出来。 2:已经获取了电脑生成的随机数,这时候就可以让用户输入了。 3:用户输入之后就判断用户输入的是否“合法”(1、是否为纯数字。2、是否包含0。3、是否输入重复数字),如果合法主程序就接       收,判断在10此循环内是否答对。 4:用户输入“合法”的前提下就可以进行对比(判断用户输入的数字是否存在电脑随机生成的数字,如果数字对且位置也对A+1,如         果数字对,位置不对B+1。主程序获取A、B之后就判断A是否为4,相等就回答正确。

具体代码如下:

                       

const rs = require("readline-sync");

let min = 1;

let max = 9;

 

//输出1-9的随机数

function getRandomNum(min, max) {

    if (min > max) {

        [min, max] = [max, min];

    }

    return parseInt((max - min + 1) * Math.random() + min);

}

 

//输出1-9的四位不重复随机数

function getComputerNum() {

    let temp = true;

    //声明一个集合

    let f70 = new Set();

    while (temp) {

        f70.add(getRandomNum(min, max));

        if (f70.size == 4) {

            f71 = [...f70];

            temp = false;

            return [...f71];

        }

    }

}

 

//判断用户输入是否合法

function inputerNum(num) {

    //是否为纯数字

    if (!isNaN(num)) {

        //将用户输入的值存入数组

        let f70 = [...num];

        // indexOf查找内容存在(需要返回下标时),includes查找内容存在(不需要返回下标时).

        if (!f70.includes("0") && f70.length == 4) {//判断用户输入的是否有0,且是否为4位数

            //判断用户输入的数字是否重复

            let f71 = new Set(f70);//去重

            if (f71.size == 4) {

                return true;

            }

            else {

                console.log(`请输入不重复的四位数`)

                return false;

            }

        }

        else {

            console.log(`请输入一个不包含0的四位数`);

        }

    }

    else {

        console.log(`请输入纯数字`);

    }

}

 

//对比

function judgeNum(inputAccount, inputComputer) {

    //a用于判断位置和数字是否都正确,b用于判断数字是否正确。

    let a = 0;

    let b = 0;

    for (let i = 0; i 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3