随机数函数
2024年12月11日大约 2 分钟
const btn = document.querySelector('.btn')
const btn1 = document.querySelector('.btn1')
const uname = document.querySelector('.uname')
const num_btn = document.querySelector('.num_btn')
console.log('===============[随机数]====================');
// 左闭右开 能取到 0 取不到 1
console.log(Math.random())
console.log('=============[0-10随机整数]=================');
console.log(Math.floor(Math.random() * 11))
console.log('=============[取数组随机数据]=================');
// 阎王点名 来源:《我的少年》
(function(){
let arr = ['蔡徐坤','陈立农','范丞丞','黄明昊','林彦俊','朱正廷','王子异','王琳凯','尤长靖']
// let Random = Math.floor(Math.random() * arr.length)
// 推荐使用 简短
let Random = parseInt(Math.random() * arr.length)
console.log(arr[Random])
})();
console.log('=============[其他随机整数]=================');
function random1(m,n){
return Math.floor(Math.random() * (m - n + 1)) + n
}
console.log(random1(5,10))
// 生成5-10随机
console.log(Math.floor(Math.random() * (5 + 1)) + 5)
console.log('=======[取数组随机数据,并删除已获取过的]=======');
// 阎王点名 来源:《我的少年》
(function(){
const arr1 = ['蔡徐坤','陈立农','范丞丞','黄明昊','林彦俊','朱正廷','王子异','王琳凯','尤长靖']
let arr = arr1.slice()
btn1.addEventListener('click',function () {
// 判断数组长度 是否 等于 原数组长度,若是就提示,并且中断
if(arr.length === arr1.length ) return uname.innerHTML = '已经是重置过了'
// 判断数组长度 是否还有值,若是就提示,并且中断
if(arr.length) return uname.innerHTML = '还有人没点哦'
arr = arr1.slice() // 重新赋值
uname.innerHTML = '重置了'
console.log(arr)
})
btn.addEventListener('click',function(){
if(!arr.length) return uname.innerHTML = '点完了' //判断是否为空
const Random = Math.floor(Math.random() * arr.length) //随机数
uname.innerHTML = arr[Random] //打印
arr.splice(Random, 1) //删除已选中
console.log(arr)
})
}
)();
console.log('=================[猜数字]====================');
num_btn.addEventListener('click', function IsNumber() {
// 默认失败
let user_win = false
let num = unum(prompt('输入你猜的数字[0-10]')) //获取值发送到unum()
const sys_num = Math.floor(Math.random() * 11) //生成随机数
// 判明输入是否为数字
function unum(params) {
if(isNaN(+params) || params.trim() === '') return alert(`杂鱼~杂鱼~数字都不认识吗`)
return +params
}
// console.log(`用户:${num}`)
// console.log(`系统:${sys_num}`) //当狗模式
for(let i = 3 ; i > 0 && num ; i--){
if(num > sys_num){
num = unum(prompt(`大了,还有${i}机会`))
}else{
if(+num < sys_num){
num = unum(prompt(`小了,还有${i}机会`))
}else{
alert(`对了`)
user_win = true //赢了
break
}
}
}
if(!user_win) return alert(`you lost`)
})