回 帖 发 新 帖 刷新版面

主题:刚学QB,写了一个福彩双球选号程序,请大家批评。

'一年前学QB,试着写了这个双色球摇号的小程序,现在看来对有些代码不满意、不简洁,修改了一下,请各位批评
'----------------------------------------------------------------------------

DECLARE SUB abc5 (ssq$())
DECLARE SUB abc6 (ssq$())
DECLARE SUB abc3 (hq$(), ssq$())
DECLARE SUB abc4 (lq$(), ssq$())
DECLARE SUB abc1 ()
DECLARE SUB abc2 (hq$(), lq$())
DIM hq$(33), lq$(16), ssq$(7)
DO
  CALL abc1                   '画图形框,显示文字
  CALL abc2(hq$(), lq$())     '数组赋值
  CALL abc3(hq$(), ssq$())    '洗红球,输出红球到数组
  CALL abc4(lq$(), ssq$())    '洗蓝球,输出蓝球到数组
  CALL abc5(ssq$())           '号码排序
  CALL abc6(ssq$())           '号码显示
  DO
    LET k$ = INKEY$
  LOOP UNTIL k$ = CHR$(27) OR k$ = CHR$(13)
  IF k$ = CHR$(27) THEN
    CLS
    EXIT DO
  END IF
LOOP
END
DATA 01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33

SUB abc1
  CLS
  COLOR 14
  PRINT CHR$(12)
  LOCATE 7, 20, 0
  PRINT CHR$(218) + STRING$(40, 196) + CHR$(191)
  FOR i = 1 TO 10
    LOCATE , 20
    PRINT CHR$(179) + SPACE$(40) + CHR$(179)
  NEXT i
  LOCATE , 20
  PRINT CHR$(192) + STRING$(40, 196) + CHR$(217)
 
  COLOR 12
  LOCATE 10, 30
  PRINT "欢迎使用双色球选号程序"
  COLOR 15
  LOCATE 15, 28
  PRINT "Enter 选号         Esc 退出"
  SLEEP 1.5
  DO
    LET k$ = INKEY$
  LOOP UNTIL k$ = CHR$(13) OR k$ = CHR$(27)
  IF k$ = CHR$(27) THEN
    CLS
    END
  END IF
  CLS
END SUB

SUB abc2 (hq$(), lq$())
  RESTORE
  FOR a = 1 TO 33         '红球数组赋值
    READ hq$(a)
  NEXT a
 
  RESTORE
  FOR a = 1 TO 16         '蓝球数组赋值
    READ lq$(a)
  NEXT a
END SUB

SUB abc3 (hq$(), ssq$())
  LOCATE 8, 28
  FOR ssq = 0 TO 5
    FOR x = 1 TO 827
      RANDOMIZE TIMER
      LET a = INT(RND * (30 - ssq) + 2)      '随机设定洗球位置
      FOR y = 1 TO (33 - ssq) - a
        LET a = a + 1
        SWAP hq$(y), hq$(a)                  '交叉洗红球
      NEXT y
      LET a = 16 - ssq
      FOR z = 1 TO 16 - ssq
        LET a = a + 1
        SWAP hq$(z), hq$(a)                  '折叠洗红球
      NEXT z
    NEXT x
    COLOR 12
    PRINT USING "&  "; hq$(1);               '号码显示
    FOR kjhq = 1 TO 32 - ssq
      SWAP hq$(kjhq), hq$(kjhq + 1)          '将洗出的红球移到数组尾
    NEXT kjhq
  NEXT ssq
  FOR x = 1 TO 6
    LET ssq$(x) = hq$(27 + x)                '输出数据
  NEXT x
END SUB

SUB abc4 (lq$(), ssq$())
  FOR x = 1 TO 827
    RANDOMIZE TIMER
    LET a = INT(RND * 13 + 2)
    FOR y = 1 TO 16 - a
      LET a = a + 1
      SWAP lq$(y), lq$(a)           '洗蓝球
    NEXT y
    
    LET a = 8
    FOR z = 1 TO 8
      LET a = a + 1
      SWAP lq$(z), lq$(a)           '洗蓝球
    NEXT z
  NEXT x
  LOCATE 8, 52
  COLOR 9
  PRINT lq$(1)
  LET ssq$(7) = lq$(1)              '数组赋值
END SUB

SUB abc5 (ssq$())
  FOR x = 1 TO 5
    FOR y = x + 1 TO 6
      IF ssq$(x) > ssq$(y) THEN
        SWAP ssq$(x), ssq$(y)               '号码排序
      END IF
    NEXT y
  NEXT x
END SUB

SUB abc6 (ssq$())
  COLOR 12
  LOCATE 5, 32
  PRINT "希 望 您 中 500 万"
  LOCATE 12, 28
  FOR a = 1 TO 6
    PRINT USING "&  "; ssq$(a);        '号码显示
  NEXT a
  COLOR 9
  LOCATE 12, 52
  PRINT ssq$(7);
  COLOR 14
  LOCATE 13, 26
  PRINT STRING$(30, 196)               '画线
  LOCATE 11, 26
  PRINT STRING$(30, 196)               '画线
  COLOR 15
  LOCATE 16, 27
  PRINT "Enter 继续选号       Esc 退出"
END SUB

回复列表 (共12个回复)

沙发

呵呵   还好你是刚刚学的 要不你得写爱国者导弹的驱动程序了 !!!
麻烦再写个福彩35选7的可以吗?

板凳

这位“困难”朋友,你如果将我的双色球的程序修改几个数据,就能变成福彩32选7的选程序,很简单的,试试看。

3 楼

不好意思  我刚学到函数与子程序 我这两天加点油 改好了再让你指点吧!

4 楼

程序不错,虽然不见得能中奖

5 楼

[em1][em1][em1]
45 怎么可以这样将呢 虽然说不一定中奖是对的 但也可以说可能中奖是对的啊!!![em1]
  事在人为嘛! 你不是一向主张要学有所用的嘛 这次怎么不鼓励了?
  许多看起来不可能的事  也都是有人不懈努力下才变为可能的对吧!!
我要是因为这个程序中了奖  先给这个作者奖励!!!!!!![em1][em1]

6 楼

现成的博奥红宝石彩票软件,能做过滤模版进入应用吗?

7 楼

漂亮!

8 楼

我弟弟前不久用这个小程序,摇了四注号码,但他只买了三注,剩下的一注他没要,结果当天晚上这注没有要的号码是二等奖,损失了几十万,好可惜!

9 楼


程序~写好了~~~

可是我不知道怎么用他~~你这个摇号的程序怎么用~我也要弄几个号试试~运气

10 楼


将程序全文复制到自己电脑的记事本存盘后,用QB调用就行了,还可以用QB将其编译成“exe文件”后再用,更方便

我来回复

您尚未登录,请登录后再回复。点此登录或注册