JS 简单猜数字游戏

简单讲一下思路,顾名思义猜数字游戏,首先利用JS的Math.random()生成一个随机数,下面案例将采用取值范围1-1000的随机数,然后需要玩家在input框输入数字,最后根据输入的数字进行判断就行了,下面上代码:

//html 部分

<div>
    玩家输入数字:<input type="text" class="number">
</div>

<button onclick="sure()">确定</button>

<div>
    您已猜<span class="res"></span>次
</div>

//script 部分

let playerNum = document.querySelector('.number')
let res = document.querySelector('.res')

// 随机生成1-1000整数
let suiji = Math.floor(Math.random()*1000+1)

// 定义变量接受玩家输入的值
let minNum = null
let maxNum = null

// 记录玩家猜测次数
let i = 0
res.innerHTML = `${i}`

function sure() {
    i++
    res.innerHTML = `${i}`
    if(playerNum.value == suiji)
        alert('猜对了!')
    else if(playerNum.value > suiji && minNum == null){
        alert('0~'+`${playerNum.value}`)
        maxNum = playerNum.value
        minNum = 0
    }else if(playerNum.value < suiji && maxNum == null) {
        alert(`${playerNum.value}`+'~1000')
        minNum = playerNum.value
        maxNum = 1000
    }else if(playerNum.value > suiji) {
        alert(`${minNum}`+'~'+`${playerNum.value}`)
        maxNum = playerNum.value
    }else if(playerNum.value < suiji) {
        alert(`${playerNum.value}`+'~'+`${maxNum}`)
        minNum = playerNum.value
    }
}

因为玩家每输入一次,答案的取值范围就会发生变化,所以每次都要去记录当前输入之后的最大值和最小值,以此作为取值范围,此案例写的比较简单,没有做很严格的判断,比如说:已知范围是100-200时,此时输入80,范围就会变为80-200,这个是不严谨的,后期使用的小伙伴可以加一下这个判断。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值