`
yueguangyuan
  • 浏览: 335863 次
  • 性别: Icon_minigender_1
  • 来自: 新加坡
社区版块
存档分类
最新评论

用JavaScript自己写的一个彩票生成号码程序

阅读更多

一个朋友要我帮他写个7色球的生成号码程序,本以为挺简单的,但是的确耗费了我满多时间,而且第一个版本还把算法搞错了 :(,用了两个晚上大概4个小时的时间才完成一个Java Swing版和一个JavaScript版,看来我的基础还真是弱啊,需要多多锻炼

要求:随机生成7个数字,前6个是1-33的整数,但是不能重复,第七个数字范围1-16,不受前面数字影响。

Java Swing版,刚开始我没在意,觉得挺容易,就用Java自己手写Frame来做,然后编译、打包并用exe4j生成.exe文件,可以说很简单一件事让我搞的挺复杂。结果是编译、打包和生成.exe文件我都搞熟了(生成的exe文件必须要有Java运行环境,Java做应用程序果然不方便),但是程序没写好, 我开了7个线程,分别由7个类来控制数字的变化,但是后来一想,前面的数字生成完毕以后,后面的数字才知道自己的取值范围,7个线程同时跑是不对的,最终放弃了这个版本,做这个版本主要是想熟悉上面几个蹩脚的过程,刚好练练Swing :P。

JS版,用动态语言做小东西真是不知道要比静态类型好多少倍,不用编译直接跑,最重要的是用JavaScript我就不用写那么多重复代码了,要是用Java实现那么多Label,不用反射就得狂拷贝代码,不知道大家有什么更好的方法。思路很简单,每次生成一个号码,点停止按钮一个数字生成,下一个开始,并且要把前面生成的数字拿出去。

由于我JS的水平实在是很烂,所以实现这个东西也着实费了好大劲。希望大家看到以后能给出意见或者提供更好的算法,谢谢!

 

<!---->DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
/**//**
 * 重新定义setTimeout方法,使得可以接受一个变量做参数
 *
*/

var _st = window.setTimeout; 
window.setTimeout 
= function(fRef, mDelay) ...
 
if(typeof fRef == 'function')...
  
var argu = Array.prototype.slice.call(arguments,2); 
  
var f = (function()...{ fRef.apply(null, argu); }); 
  
return _st(f, mDelay); 
 }
 
 
return _st(fRef,mDelay); 
}
 

/**//**
 * 初始化一个长度为33的数组
 *
*/

function initArr()...{
    
var arr = new Array();
    
for(i=0; i<33; i++)...{
        arr[i]
=i+1;
    }

    
return arr;
}

var startArr = initArr();
/**//**
 * 数组中删除一个元素的方法
 *
*/

Array.prototype.remove
=function(num)...{
    
if(isNaN(num)||num>33)...{
        
return false;
    }


    
for(i=0;i<this.length;i++)...{
        
if(num==startArr[i])...{
            
this.splice(num-1,1);
            
this.length-=1;
            
break;
        }

    }

}


/**//**
 * 前六个数字的计算
 *
*/

function optionChange(startNum)...{
    
var obj = document.getElementById("value" + startNum);
    
var len = startArr.length;
    
var value = Math.round(Math.random()*len) + 1;

    
if(obj.value==0)...{
        document.getElementById(
"numberField" + startNum).innerText=value;        
        window.setTimeout(optionChange,
500,startNum);
    }

}


/**//**
 * 点开始按钮后从第一位开始
 *
*/

function startChange()...{
    
for(i=1;i<=7;i++)...{
        document.getElementById(
"numberField" + i).innerText=0;
    }

    document.getElementById(
"value1").value="0";
    document.getElementById(
"startButton").disabled=true;
    optionChange(
1);
}


/**//**
 * 设定起始位置1
 * 按停止按钮的时候,对应位置数字停止,下一个开始
 *
*/

var cont = 1;
function changeNumber()...{
    
if(cont<6)...{
        document.getElementById(
"value" + cont).value=cont;
        startArr.remove(document.getElementById(
"value" + cont).innerText);
        cont
++;
        document.getElementById(
"value" + cont).value="0";
        optionChange(cont);
    }
 else if(cont==6)...{
        document.getElementById(
"value6").value=cont;
        document.getElementById(
"value7").value=0;
        cont
++;
        optionChange7();
    }
 else if(cont==7)...{
        document.getElementById(
"value7").value=cont;
        document.getElementById(
"startButton").disabled=false;
        cont
=1;
    }

}

/**//**
 * 第7个数字时特别处理
 *
*/

function optionChange7()...{
    
var value = document.getElementById("value7").value;
    
if(value==0)...{
        document.getElementById(
"numberField7").innerText=Math.round(Math.random()*16+1);
        setTimeout(
"optionChange7()",500);
    }

}

script>
HEAD>

<BODY>
<table width="100%">
<tr>
    随机数生成:
    
<span id="numberField1">0span><input type="hidden" name="value1" value="1" />&nbsp;&nbsp;
    
<span id="numberField2">0span><input type="hidden" name="value2" value=
分享到:
评论

相关推荐

    用javascript写的一个随机产生双色球号码

    这个项目是用JavaScript编写的一个小工具,它可以随机生成双色球彩票的号码。双色球是一种流行的彩票游戏,其规则包括6个红色球和1个蓝色球,其中红色球的数字范围是1到33,且不能重复,蓝色球的数字范围是1到16。 ...

    课后写一个双色球的程序

    - 蓝球号码则需在1至16之间生成一个随机数。 - 生成的红球号码需按照从小到大的顺序排列并展示给用户。 - **技术选型:** - 使用HTML作为页面结构的基础。 - 利用JavaScript实现逻辑处理和动态效果。 - CSS...

    微信小程序,彩票机选号码,双色球,大乐透机选

    总之,“微信小程序,彩票机选号码,双色球,大乐透机选”这一话题涵盖了微信小程序开发、随机数生成算法、彩票游戏规则以及市场推广策略等多个方面。通过巧妙地融合技术与市场需求,微信小程序在彩票领域展现出强大...

    基于javascript实现彩票随机数生成(升级版)

    例如,如果彩票包含6个红球号码,每个号码在1到33之间,我们可以创建一个数组来存储已选中的号码,然后在每次生成新的随机数之前检查该数是否已经存在于数组中。如果不存在,就添加到数组,直到达到所需的数量。 ...

    我写的一个中奖的小程序

    4. **用户界面**:为了提供良好的用户体验,程序需要一个直观的用户界面,可能包括按钮、图像和文本框等元素,这可能需要使用到前端开发技术,如HTML、CSS和JavaScript。 5. **事件驱动编程**:用户交互(如点击...

    基于javascript实现彩票随机数生成(简单版)

    在本文中,我们探讨了如何使用JavaScript来创建一个简单版本的彩票随机数生成器。JavaScript是一种广泛用于网页开发的脚本语言,它允许开发者在用户的浏览器端执行代码,从而创建动态和交互式网页。彩票随机数生成器...

    程序天下:JavaScript实例自学手册

    10.12 用JavaScript生成面包屑导航 10.13 复选框的反选 10.14 选中所有复选框 10.15 复选框全选(二) 10.16 改变slsect选中项的颜色特效 第11章 颜色处理和菜单特效 11.1 背景颜色测试 11.2 RGB颜色在线转换 11.3 ...

    ASP源码—彩票网采集程序 v1.0.zip

    "彩票网采集程序"是一个特定的应用场景,其主要功能是自动抓取和处理网络上关于彩票的信息,如彩票号码、开奖时间、中奖概率等数据。这样的程序通常由以下几个关键组成部分构成: 1. **网络爬虫**:网络爬虫是程序...

    随机生成一组号码

    通过以上技术,我们可以编写一个简单的程序来随机生成一组彩票号码。例如,在Python中,代码可能如下所示: ```python import random def generate_lottery_numbers(count=6, min_value=1, max_value=49): ...

    双 色 球 JavaScript 完整代码,和实现效果

    在本项目中,我们关注的是一个使用JavaScript编写的双色球模拟程序。双色球是一种流行的彩票游戏,玩家从33个红色球和16个蓝色球中选择号码,然后根据匹配的号码来赢得奖品。这个JavaScript实现旨在提供一个可视化的...

    《程序天下:JavaScript实例自学手册》光盘源码

    10.12 用JavaScript生成面包屑导航 10.13 复选框的反选 10.14 选中所有复选框 10.15 复选框全选(二) 10.16 改变slsect选中项的颜色特效 第11章 颜色处理和菜单特效 11.1 背景颜色测试 11.2 RGB颜色在线转换 11.3 ...

    js 随机抽奖源码 随机抽取彩票

    本教程将深入探讨如何使用JavaScript(js)语言来实现一个随机抽奖功能,以模拟彩票的抽取过程。JavaScript是一种广泛用于Web开发的脚本语言,它允许我们在用户浏览器端执行动态效果和交互操作。 首先,我们要理解...

    基于PHP的asp晓风彩票代购程序网站源码.zip

    【标题】"基于PHP的asp晓风彩票代购程序网站源码"是一个使用PHP语言开发的彩票代购系统,主要用于创建一个在线平台,使用户能够方便地购买彩票。该源码可能包含完整的前后端功能,如用户注册、登录、选择彩票类型、...

    aa.rar_AA彩票是什么_aa1880彩票_aa彩票下载_aa彩票网_lottery

    彩票管理系统是一个复杂的软件系统,其主要功能是实现彩票的发行、销售、抽取以及中奖结果的自动化处理。在彩票行业中,这样的系统扮演着至关重要的角色,它不仅保证了彩票销售过程的公正、公平、透明,同时也极大地...

    java福彩选号器applet小程序

    总结来说,"java福彩选号器applet小程序"是一个利用Java编程语言和Applet技术开发的工具,它在Web浏览器环境下运行,帮助用户生成福利彩票的号码。这个程序的核心是随机数生成和用户交互,其结构包括源代码、编译后...

    php双色球实现

    这个程序能够模拟中国福利彩票双色球的随机抽取规则,为用户提供一个公平且具有趣味性的抽奖体验。在工程目录下直接部署即可运行,方便快捷。 在PHP双色球抽奖程序中,主要涉及以下几个核心知识点: 1. **PHP基础*...

    毕业设计&课设--微信小程序彩票销售与管理系统(毕业设计).zip

    【标题】:“毕业设计&课设--微信小程序彩票销售与管理系统”是一个综合性的项目,旨在构建一个基于微信小程序的彩票购买和管理系统。这个系统涵盖了彩票的销售、管理、查询以及数据分析等多个方面,对于学习和实践...

    201921020134-郑聚-移动互联网及其应用第4周作业.pdf

    首先,我们将讨论如何设计一个小程序来计算复利存款的收益,然后我们会看到如何创建一个能够生成彩票号码的小程序。 案例1:复利存款计算器 在这个案例中,小程序的主要功能是计算在给定的本金、年利率和年数下,...

    java彩票系统源代码

    Java彩票系统是一个基于Java编程语言开发的应用程序,用于实现彩票购买、开奖、兑奖等功能。这个系统展示了Java在实际业务中的应用,特别是对于需要处理随机性和并发性的场景。让我们深入探讨一下这个系统可能包含的...

    彩票游戏:此程序可以刺激彩票游戏

    此外,公正性也是彩票游戏的基石,因此随机数生成算法必须是公平且不可预测的,以保证每一个号码出现的概率相等。 在"Lottery-game-master"项目中,我们可能还会看到一些辅助文件,比如JavaScript文件(.js),它们...

Global site tag (gtag.js) - Google Analytics