TC官方合作论坛

 找回密码
 立即注册
楼主: 252253494

[已解决] 2012.10.3号,问题2.那位大神帮我看一下,这个代码怎么重复?

[复制链接]
发表于 2012-10-3 15:19:43 | 显示全部楼层
回复 6楼shine宝宝的帖子

按照2楼的思路完成的代码本身并不是死循环,但其一次不重复的执行的概率不到62%,更多的时候是号码重复了,不停的循环,造成“死循环”的假象。“死”的是否明显主要看脚本解释器的性能,我原来用as写的30选7就是这个思路,基本到第5个球就“死循环”了。
回复 支持 反对

使用道具 举报

发表于 2012-10-3 15:20:50 | 显示全部楼层
回复 10楼shine宝宝的帖子

你抄袭我签名干嘛
回复 支持 反对

使用道具 举报

发表于 2012-10-3 15:26:39 | 显示全部楼层
回复 6楼shine宝宝的帖子

按照2楼的思路完成的代码本身并不是死循环,但其一次不重复的执行的概率不到62%,更多的时候是号码重复了,不停的循环,造成“死循环”的假象
爱玩的一休 发表于 2012-10-3 15:19:43
艾玛 牵扯到数学了!!!
回复 支持 反对

使用道具 举报

发表于 2012-10-3 15:27:16 | 显示全部楼层
回复 10楼shine宝宝的帖子

你抄袭我签名干嘛
陌上青衣。 发表于 2012-10-3 15:20:50
你你你还好没把字改成什么同城交友
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-3 15:29:18 | 显示全部楼层
可以了。
这个代码也可以的。刚才是我少输了【跳出】这两个字。呵呵。
以下代码:
功能 逻辑型 双色球_点击()
      整型 红1,红2,红3,红4,红5,红6,蓝1
      字符型 红1字符串,红2字符串,红3字符串,红4字符串,红5字符串,红6字符串,蓝1字符串
      线程.开启("彩票选号器.选号","我是参数")
返回 真
功能结束

功能 逻辑型 选号()
      整型 红1,红2,红3,红4,红5,红6,蓝1
      字符型 红1字符串,红2字符串,红3字符串,红4字符串,红5字符串,红6字符串,蓝1字符串
循环(真)
      红1=辅助.随机数(1,33)      
   
    如果 (红1==红2)||(红1==红3)||(红1==红4)||(红1==红5)||(红1==红6)     
      
       继续
              
    否则
      红1字符串=转换.整型转字符型(红1)      
      编辑框.设置文本("编辑框0",红1字符串)
      跳出
    如果结束
循环结束
      
循环(真)      
      红2=辅助.随机数(1,33)
    如果 (红2==红1)||(红2==红3)||(红2==红4)||(红2==红5)||(红2==红6)     
       继续              
    否则     
      红2字符串=转换.整型转字符型(红2)      
      编辑框.设置文本("编辑框1",红2字符串)
      跳出
      如果结束
循环结束

循环(真)           
      红3=辅助.随机数(1,33)
    如果 (红3==红1)||(红3==红2)||(红3==红4)||(红3==红5)||(红3==红6)     
       继续              
    否则     
      红3字符串=转换.整型转字符型(红3)      
      编辑框.设置文本("编辑框2",红3字符串)
      跳出
      如果结束
循环结束

循环(真)      
      红4=辅助.随机数(1,33)
    如果 (红4==红1)||(红4==红2)||(红4==红3)||(红4==红5)||(红4==红6)     
       继续              
    否则     
      红4字符串=转换.整型转字符型(红4)      
      编辑框.设置文本("编辑框3",红4字符串)
      跳出
    如果结束
循环结束

循环(真)     
      红5=辅助.随机数(1,33)
    如果 (红5==红1)||(红5==红2)||(红5==红3)||(红5==红4)||(红5==红6)     
       继续              
    否则      
      红5字符串=转换.整型转字符型(红5)      
      编辑框.设置文本("编辑框4",红5字符串)
      跳出
      如果结束
循环结束

循环(真)        
      红6=辅助.随机数(1,33)
    如果 (红6==红1)||(红6==红2)||(红6==红3)||(红6==红4)||(红6==红5)     
       继续              
    否则      
      红6字符串=转换.整型转字符型(红6)      
      编辑框.设置文本("编辑框5",红6字符串)
      跳出
    如果结束
循环结束     
      
      
      蓝1=辅助.随机数(1,16)      
      蓝1字符串=转换.整型转字符型(蓝1)      
      编辑框.设置文本("编辑框6",蓝1字符串)



返回 真
//函数返回语句
功能结束

不过我还有个问题:
就是这一句:线程.开启("彩票选号器.选号","我是参数")
这个"我是参数"是代表什么???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-3 15:42:31 | 显示全部楼层
回复 8楼夏末的帖子

大神,好多我都看的似懂非懂的。单个代码貌似看懂一大半。整体起来就不知道是什么了。郁闷
回复 支持 反对

使用道具 举报

发表于 2012-10-3 17:32:09 | 显示全部楼层
用随机数组下标的方法,很简单的



  1. function bool 不重复随机数()
  2.    
  3.     string 返回红球串 //返回的红球号码
  4.    
  5.     int[] 红球 = int[33] //33个红球的数组
  6.    
  7.     //数组初始化
  8.     for(int i=0;i<33;i++)
  9.         红球[i] = i+1
  10.     endfor
  11.    
  12.     //随机6个红球
  13.     int 编号 =1
  14.     while(编号<7)
  15.    
  16.     int 随机下标 = 辅助.随机数(0,32)//随机数组下标
  17.    
  18.     if(红球[随机下标]!=0)
  19.         
  20.         返回红球串 = 返回红球串+convert.inttostr(红球[随机下标])+","
  21.         红球[随机下标] = 0 //随机到一个后赋值为0,这样后面就能避免重复
  22.         编号 = 编号 +1
  23.     endif

  24.     endwhile
  25.    
  26.     辅助.消息框(返回红球串)
  27.    
  28.     return true
  29. endfunction
复制代码

回复 支持 反对

使用道具 举报

发表于 2012-10-3 18:20:17 | 显示全部楼层
第一个数

得到一个随机数
循环对比数组里的数
不等于 的情况下 加1
没有 数组[6]
加到6  表示 都对比完了 没重复

把这个数给 数组[0]
下标+1
跳出小循环



开始第2个数
重复上边步骤

如果有出现等于的情况  就重新 的一个随机数
把数组的下标复位 从0 开始对比 到出结果为止

因为没等于6   不会把值给 数组[1]
回复 支持 反对

使用道具 举报

发表于 2012-10-3 20:08:05 | 显示全部楼层
解决了就好  我来玩了
回复 支持 反对

使用道具 举报

发表于 2012-10-8 05:23:56 | 显示全部楼层
学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-24 05:47 , Processed in 0.037199 second(s), 20 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表