0
点赞
收藏
分享

微信扫一扫

JavaScript 函数 双色球

红球 6个 1-33 不重复

蓝球 1个 1-16

中奖规则:R + B 即 红球选中个数 搭配 蓝球号码。

一等奖:6+1 即:红球中6个,蓝球也中 一等奖:6+1 (钱(ni)太(zhong)多(bu)了,也封顶¥500万?)

二等奖:6+0 封顶¥500万)

三等奖:5+1 (¥3000)

四等奖:5+0 | 4+1 (¥200)

五等奖:4+0 | 3+1 (¥10)

六等奖:2+1 | 1+1 | 0+1(¥5)

思路

1、先准备一个随机数函数

2、封装一个可以或者获取6位红球和1位蓝球的函数,需要返出一个值,由于红球是数组,蓝球的数字,所以以数组形式返出

3、在分别声明两个数组,装入红球的数组和蓝球的数字,由于都是随机数,所以可以直接声明两个数组分别为奖池数据和用户随机抽的数据

4、在通过filter方法返回一个数组加.length或者相同值的新数组的长度,就表示红球中奖的个数(indexOf(item) != -1:由于两个数组有相同的元素就会返回对应的索引,如果当为-1就表示没有相同的号,就不会进入)

5、声明一个变量通过三目来判断用户抽的蓝球是否和奖池的蓝球==,返回true和false,true为1,false不进if

6、根据奖项规则进行if else if来判断

//红、蓝球随机数的函数
function main() {
    let i = new Set();
    while (i.size < 6) {
        i.add(random(1, 33));
    }
    let red = [...i]; // 红球6个
​
    let blue = random(1, 16); // 蓝球
    return [red, blue];//以数组形式返出
}
let [luckyRed, luckyBlue] = main(); //中奖号码
let [arrRed, arrBlue] = main(); // 机选号码
console.log(luckyRed, luckyBlue);
console.log(arrRed, arrBlue);
​
// 交集
let count = luckyRed.filter(function(item) {
    return arrRed.indexOf(item) != -1;
}).length;//返回count的是一个新数组,.length,表示返回的不是数组,而是返回数组的长度。
console.log(count);
//声明一个变量判断蓝球是否相等
let blueState = luckyBlue == arrBlue ? true : false;
​
if (count == 6 && blueState) {
    console.log(`恭喜你,抽中了一等奖,奖金¥1000万元 `);
} else if (count == 6) {
    console.log(`恭喜你,抽中了二等奖,奖金¥500万元 `);
} else if (count == 5 && blueState) {
    console.log(`恭喜你,抽中了三等奖,奖金¥3000元 `);
} else if (count == 5 || count == 4 && blueState) {
    console.log(`恭喜你,抽中了四等奖,奖金¥200元 `);
} else if (count == 4 || count == 3 && blueState) {
    console.log(`恭喜你,抽中了五等奖,奖金¥10元 `);
} else if (count == 2 && blueState || count == 1 && blueState || blueState) {
    console.log(`恭喜你,抽中了六等奖,奖金¥5元 `);
} else {
    console.log(`很遗憾,你运气不好未中奖`);
}
举报

相关推荐

0 条评论