JavaScript实现猜数字游戏(猜一位和四位数字)

一、猜1-10中的数字

实现效果:程序随机生成一个1~10之间的数字,用户输入所猜数字(1~10以内),系统判断这两个数字的大小。如果用户没有输入数字,则提示“出错啦!!!”,如果用户所猜数字大于随机数,那么提示“你猜大了!”,如果用户所猜数字小于随机数,则提示“你猜小了!”,如果用户所猜数字与该随机数相等,就提示“恭喜你,猜对了!”,此时结束程序。

下面是完成效果演示:

代码如下:

function getRandom(min,max){

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

}

var min = 1,max = 10;

var random = getRandom(min,max);

while(1)

{

    var x = prompt("请输入你猜的数字");

    if(x!=='')

    {

        if(x<random)

        {

            alert("你猜小了!");

        }

        else if(x>random)

        {

            alert("你猜大了!");

        }

        else if(x==random)

        {

            alert("恭喜你,猜对了!");

            break;

        }

    }

    else if(x===''){

        alert("出错啦!!!");

    }

}

二、进阶版猜数字

实现效果:程序随机生成四个数(每个数范围均为0~9),用户输入所猜的四位数,如果用户所猜四位数与随机生成的四位数位置相同则为B,仅仅是数字出现,位置不同则为A。最终输出4A4B程序结束,并打印这个随机数。

例:随机数:1234

所猜数:1111    输出:1A1B

所猜数:4567    输出:1A0B

所猜数:1243    输出:4A2B

所猜数:1234    输出:4A4B

演示一遍完成效果:

代码如下:

function getRandom(min,max)

{

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

}

function getNumber(){

    arr[0] = getRandom(min,max);

    arr[1] = getRandom(min,max);

    arr[2] = getRandom(min,max);

    arr[3] = getRandom(min,max);

    return arr;

}

function guessNumber(){

    var x = Number(prompt("请输入你猜的四位数字"));

    arr1[0] = parseInt(x/1000);

    arr1[1] = parseInt(x%1000/100);

    arr1[2] = parseInt(x%100/10);

    arr1[3] = parseInt(x%10);

    return arr1;

}

var min = 1,max = 9;

var arr = [];

getNumber();

console.log("这组数字是:",arr);

var temp = [];

while(1)

{

    if(m===4&n===4)

    {

        alert("恭喜你,猜对了!这组数字是:"+arr+"");

        break;

    }else{

        var m=0,n=0;

        var arr1 = [];

        guessNumber();

        for(var i=0;i<arr.length;i++)

        {

            temp[i] = arr[i];

        }

        for(var i=0;i<arr.length;i++)

        {

            for(var j=0;j<arr.length;j++)

            {

                if(arr1[i]===temp[j]){

                    temp[j] = null;

                    m++;

                    break;

                }

            }

        }

        for(var i=0;i<arr.length;i++)

        {

            if(arr1[i] === arr[i])

            {

                n++;

            }

        }

        var arr2 = arr1.join("");
        alert("你猜的四位数字是:"+arr2+"\n输出:"+m+"A"+n+"B");

        // console.log("你猜的四位数字是:",arr2);

        // console.log("输出:",m+"A"+n+"B");

    }

}

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值