`
zhanghan
  • 浏览: 189396 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

as3 彩票简单缩水算法及实现

    博客分类:
  • Flex
阅读更多



 网上搜了一下找缩水算法的介绍,发觉大家都藏藏掖掖的。

以下是网上搜到的一个通过加工以后的源码。

来处上一篇的双色球小工具中的源码(部分)

 

 

 

 

 

package {
 import flash.display.MovieClip;
 import flash.events.MouseEvent;
 import flash.events.Event;
 import flash.text.TextFormat;

 public class ZipMovieClip extends MovieClip {

  // Constants:
  // Public Properties:
  // Private Properties:
  private var yxh:String=",";
  private var hz_arr:Array=[];
  private var jo_arr:Array=[];
  private var ds_arr:Array=[];
  private var jg_count:int=0;
  private var xy_count:int=0;
  public function ZipMovieClip() {
   //界面交互操作处理开始
   close_btn.addEventListener(MouseEvent.CLICK,closeHandler);
   btn_1.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_2.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_3.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_4.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_5.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_6.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_7.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_8.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_9.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_10.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_11.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_12.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_13.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_14.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_15.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_16.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_17.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_18.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_19.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_20.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_21.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_22.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_23.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_24.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_25.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_26.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_27.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_28.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_29.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_30.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_31.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_32.addEventListener(MouseEvent.CLICK,btnHandler);
   btn_33.addEventListener(MouseEvent.CLICK,btnHandler);
   reset_btn.addEventListener(MouseEvent.CLICK,resetHandler);
   ctreate_btn.addEventListener(MouseEvent.CLICK,createHandler);

   //界面交互操作结束

 

   var tfo:TextFormat = new TextFormat();
   tfo.size=14;
   resultText.setStyle("defaultTextFormat", tfo);
   resultText.setStyle("textFormat", tfo);
   resultText.text="";
 
  }

 

 //关闭事件处理
 private function closeHandler(e:Event):void {
  var p=(e.target.parent) as MovieClip;
  p.parent.removeChild(p);
 }

 private function btnHandler(e:Event):void {
  var n:String=e.target.name;
  n=n.replace(/btn_/i,'');
  n=n.length<2?"0"+n:n;
  if (yxh.indexOf(","+n+",")>-1) {
   return;
  }
  yxh+=n+",";
  yxh_txt.text=yxh;
 }

 private function resetHandler(e:Event):void {
  yxh_txt.text='';
  yxh=',';
 }

 

 //生成号码事件处理

 private function createHandler(e:Event):void {
  jg_count=0;
  jo_arr.length=0;
  hz_arr.length=0;
  resultText.text="";
  string2intArray(jiou_txt.text,jo_arr);
  string2intArray(hezhi_txt.text,hz_arr);
  string2intArray(dashu_txt.text,ds_arr);
  xy_count=parseInt(count_txt.text);
  if(jo_arr.length==1)jo_arr.push(6);
  if(hz_arr.length==1)hz_arr.push(500);
  if(ds_arr.length==1)ds_arr.push(6);
  
  var arr1:Array = yxh.split(",");
  var arr2:Array = [];
  for each (var __s:String in arr1){
    if(/^\d+$/.test(__s)){
     arr2.push(parseInt(__s));
     }
   }
  arr1=null;
  createNumbers(arr2,printResult,6);
  
  
  //判断结果不否为空
  if(resultText.text==""){
   resultText.text="不中啊,你设置的条件太变态了,都选不出来数据了。请你修改选号条件重新自动生成号码吧。"
   }
  
 }
 
 
  //组合算法开始

  //

  //用于生成组合号码
  private function createNumbers(rang:Array,proceFn:Function,len:int=6,save:int=4):void {
   if (rang==null||proceFn==null) {
    return;
   }
   var temp_arr:Array=[];
   var ret_arr:Array=[];
   var l:int=rang.length;
   var i:int=0;
   var j:int=0;
   var count:int=0;
   var flag:Boolean=true;

   for(;i<l;i++){;
    temp_arr.push(i<len?1:0);
   }

  //第一组数据
  while (flag) {
   flag=false;
   //生成一组数据
   ret_arr.length=0;
   for (i=0; i<l; i++) {
    if (temp_arr[i]==1) {
     ret_arr.push(rang[i]);

    }
   }
   //处理本次生成的结果
   if (!(proceFn(ret_arr,++count))) {
    break;
   }
    //生成完毕,需要变换
   for (i=0; i<l-1; i++) {
    if (temp_arr[i]==1&&temp_arr[i+1]==0) {
     temp_arr[i]=0;
     temp_arr[i+1]=1;
     flag=true;
     //找到了
     break;
    }
   }
   //移动游标
   for(;i>0&&flag;i--){
    if(temp_arr[i]==1){
      for(j=0;j<i;j++){
       if(temp_arr[j]==0){
        //交换
        temp_arr[j]=1;
        temp_arr[i]=0;
        break;
        }
       }
     }
    }
   
    
  }
 }

  //处理生成结果
  private function printResult(p:Array,c:int):Boolean {
   //trace("第"+c+"组数据:"+p.join(","));
   if(checkResult(p)){
    jg_count++;
    var tmp:String="";
    for each(var _tmp:int in p)tmp+=(_tmp>9?""+_tmp:"0"+_tmp)+"  ";
    resultText.appendText(tmp+"\n");
   }
   
   if (jg_count>=xy_count) {
    return false;
   }
   return true;
  } 
 
 
 
 //转换成数组
 private function string2intArray(src:String,arr:Array):void{
  arr.length=0;
  if(src==null || src.length<1)return;
  var tmp:Array = src.split("-");
  for each(var _tmp:String in tmp){
    if(/^\d+$/.test(_tmp))
              {
              arr.push(parseInt(_tmp));
              }
   }
  }


 //验证生成的结果
 private function checkResult(p:Array):Boolean{
  
  if(jo_arr.length==0&&hz_arr.length==0 && ds_arr.length==0)return true;
  var flag:Boolean = false;
  var i:int = 0,j:int=0,d:int=0,t:int=0;
  
  for each ( i in p){
     if((i%2)!=0)j++;
     if(i>16)d++;
     t+=i;
     }
  
  if(jo_arr.length>0){
   //验证奇偶数
    if(jo_arr.length==1)
     flag = (j>=jo_arr[0]); 
    else (jo_arr.length>1)
        flag = (j>=jo_arr[0]&& j<=jo_arr[1]); 
   }else
    flag=true;
   
  if(flag && hz_arr.length>0){
   //验证和值
    if(hz_arr.length==1)
     flag = (t>=hz_arr[0]); 
    else (hz_arr.length>1)
        flag = (t>=hz_arr[0]&& t<=hz_arr[1]);     
   }
  
  if(flag && ds_arr.length>0){
   //验证大数
    if(ds_arr.length==1)
     flag = (d>=ds_arr[0]); 
    else (ds_arr.length>1)
        flag = (d>=ds_arr[0]&& d<=ds_arr[1]);         
   }
   
  return flag;
  }
  
 
 
 }

}

 

  • 大小: 32.9 KB
分享到:
评论

相关推荐

    pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

    pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

    matlab建立计算力学课程的笔记和文件.zip

    matlab建立计算力学课程的笔记和文件.zip

    FT-Prog-v3.12.38.643-FTD USB 工作模式设定及eprom读写

    FT_Prog_v3.12.38.643--FTD USB 工作模式设定及eprom读写

    matlab基于RRT和人工势场法混合算法的路径规划.zip

    matlab基于RRT和人工势场法混合算法的路径规划.zip

    matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

    matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

    office 2016三和一精简版

    office 2016三和一精简版

    Scrapy-1.0.2-py2-none-any.whl

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡咨询顾问必备宝典-时间管理.ppt

    麦肯锡咨询顾问必备宝典-时间管理.ppt

    setuptools-0.6c10-py2.4.egg

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡顾问的黄金思考方法.pptx

    麦肯锡顾问的黄金思考方法.pptx

    91fdd461elb59a4ce8dfcfc46bc283a7.msi

    91fdd461elb59a4ce8dfcfc46bc283a7.msi

    ansys maxwell

    ansys maxwell

    5-5.py

    5-5

    xx广告促销计划流程实施手册.ppt

    xx广告促销计划流程实施手册.ppt

    仿小米商城微信小程序源码+项目说明.zip

    仿小米商城微信小程序源码+项目说明.zip

    pytest-4.6.0.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Scrapy-2.10.1.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡xx客户满意服务.ppt

    麦肯锡xx客户满意服务.ppt

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    基于python+Scrapy的农业数据爬虫设计与实现

    【作品名称】:基于python+Scrapy的农业数据爬虫设计与实现 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于Scrapy的农业数据爬虫设计与实现 . ├── Crops # web服务 │ ├── app.py │ ├── static # 静态文件 │ │ ├── css │ │ └── js │ └── templates # 静态页面 │ ├── corn.html │ ├── corns.html │ ├── index.html │ ├── porcor.html │ ├── pork.html │ └── porks.html ├── README.md └── spider # 爬虫及数据处理 ├── integration # 数据汇总 │ └── corn.py └── tutorial # 爬虫 ├── scrap

Global site tag (gtag.js) - Google Analytics