实现效果
如图所示的页面:
单击页面上的“机选”按钮,则生成一注双色球彩票号码,并弹出显示结果,效果如图所示:
规则说明:
其中,双色球彩票号码的规则为:
1、红色球:从“1”到“33”中(包含1和33),随机选择出6个数字作为红色球的号码,且这6个数字不能重复;
2、蓝色球:从“1”到“16”中(包含1和16),随机选择一个数字作为蓝色球;
3、7个数字合到一起作为一注双色球彩票的号码。
图中显示的彩票号码中,前 6 个数字为红色球号码(要求按照数值大小升序排列),竖线后的数字为蓝色球号码。
完整代码
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>双色球</title>
<script language="javascript" src="ssq.js" type="text/javascript">
</script>
</head>
<body>
<form>
<div style="text-align: center; color: red;"><h2>彩票双色球生成器</h2></div>
<div style="text-align: center"><input type="button" value="机选" style=" background-color: yellow; color: red;" onclick="doubleBall();"/></div>
</form>
</body>
</html>
js
//随机数,包含下限,不包含上限
function randomNumber(min, max) {
var n = Math.floor(Math.random() * (max - min)) + min;
return n;
}
function doubleBall() {
//声明一个数组,用于存放结果
var result = new Array();
//先产生6个红球
var i = 0;
while (i < 6) {
//先生成一个1到33之间的号码
var curCode = randomNumber(1, 34);
//判断该号码是否出现过
var isHas = false;
for (var j = 0; j < result.length; j++) {
if (result[j] == curCode) {
isHas = true;
break;
}
}
//没有出现过,则加入且计数器加1
if (!isHas) {
result.push(curCode);
i++;
}
}
//产生完6个红球后,先排序,再产生一个蓝球
var sortFunc = function (a, b) {
return a - b;
};
result.sort(sortFunc);
var info = result.toString();
var blueBall = randomNumber(1, 17);
//返回结果
alert(info + " | " + blueBall);
}