随机整数生成
/*
随机生成[star,end]之间的整数
*/
function getIntRandom(star, end) {
return Math.floor(Math.random() * (end - star + 1) + star)
}
随机整数生成练习一
对学生进行随机点名,并且已点名的学生不可重复被点
// 人员名单
let uname = ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操']
function callRollRandom(uname = []) {
// 产生0~uname.length之间的随机整数
let random = Math.floor(Math.random() * uname.length)
// 显示被点名学生名字
document.write(uname[random])
// 删除已点名学生
uname.splice(random, 1)
}
随机整数生成练习二
需求:程序随机生成star~end之间的一个数字,并有次数上限,用户输入一个数字
①:如果大于该数字,就提示,你猜大了,请再尝试!
②:如果小于该数字,就提示,你猜小了,请再尝试!
③:如果猜对了,就提示恭喜你猜对了!,程序结束
/*
功能描述:猜[star,end]之间的一个整数数,猜对直接退出,最多猜times次
times: 最多猜的次数
*/
function guessNumberGame(star, end, times = 0) {
let flag = true // 退出开关
let random = Math.floor(Math.random() * (end - star + 1) + star) // 随机生成[star,end]之间的整数
// 猜数处理
while (flag) {
// 用户最多猜times次
for (let i = 1; i <= times; i++) {
let num = +prompt("请输入你猜的数字!")
if (num === random) {
alert("恭喜你猜对了!")
return
} else if (num > random) {
alert("你猜大了,请再尝试!")
} else {
alert("你猜小了,请再尝试!")
}
}
// 已达到猜数次数上限,直接退出
flag = false
alert("很抱歉,你已达到猜数次数上限!")
}
}