抽签软件免费提供,代码开源,可用作抽奖、课堂抽背、游戏分组等活动场合,可以直接下载

简介: 抽签软件免费提供,代码开源,可用作抽奖、课堂抽背、游戏分组等活动场合,可以直接下载

软件界面:

image.png

这块软件是由刘金玉编程开发,可以让老师用作课堂抽背、婚礼抽奖、抽签、游戏分组等活动场合。


image.png

这款软件分为两个模式:

模式1:

在一个连续的数值范围内抽取指定个数的数值,配置完模式1后直接点击确定,然后就可以点击抽签了。


模式2:

自定义一组数值,数值之间使用中文顿号(、)隔开即可,然后自行指定在这组数值中抽取多少个,这样可以满足数组的分组。


期间会记录抽签的次数,模式1和模式2可以结合使用,可以在模式1的基础上再使用模式2,以进一步实现需求。效果如下图:

57c200350fdfc6b615bd2b627a6f9c56.png


软件设计界面:

8b8209f130f66c758e25a1e20d17d92e.png


本程序代码开源(作者:刘金玉):

Option Explicit
Dim mode%
Private Sub Command1_Click()
mode = 0
If Command1.Caption = "确定" Then
    Text1.Enabled = False
    Text2.Enabled = False
    Text3.Enabled = False
    Command1.Caption = "重新配置"
Else
    Text1.Enabled = True
    Text2.Enabled = True
    Text3.Enabled = True
    Command1.Caption = "确定"
End If
End Sub
Private Sub Command2_Click()
Dim a%, b%, n%, r%, i%
Randomize
If mode = 0 Then
    a = Val(Text1.Text)
    b = Val(Text2.Text)
    n = Val(Text3.Text)
    '数据存储数组
    Dim zs%
    zs = b - a
    ReDim da%(zs)
    Dim c1% '用来计数
    c1 = 0
    For i = a To b
        da(c1) = i
        c1 = c1 + 1
    Next i
    '使用索引抽取
    For i = 1 To n
        r = Int(Rnd * (zs + 1))
        Text4.Text = Text4.Text & da(r) & "、"
        '简单处理,把最后一个数已入已经抽取过的数的位置
        da(r) = da(zs)
        da(zs) = -1
        zs = zs - 1
    Next i
    Text4.Text = Mid(Text4.Text, 1, Len(Text4.Text) - 1)
ElseIf mode = 1 Then '标记-1法
    If Trim(Text5.Text) <> "" Then
        Dim ta$(), j%
        ta = Split(Text5.Text, "、")
        a = 0
        b = UBound(ta)
        r = Int(Rnd * (b - a + 1) + a)
        n = Val(Text6.Text)
        Do Until n = 0
            Dim tmp%
            tmp = 0
            For j = 0 To b
                If Val(ta(j)) <> -1 Then
                    tmp = tmp + 1
                End If
            Next j
            ReDim tb%(tmp - 1), tbi%(tmp - 1)
            Dim c%
            c = 0
            For j = 0 To UBound(ta)
                If Val(tmp) > c And Val(ta(j)) <> -1 Then
                    tb(c) = Val(ta(j))
                    tbi(c) = j
                    c = c + 1
                End If
            Next j
            Dim a1%, b1%, r1%
            a1 = 0
            b1 = UBound(tb)
            r1 = Int(Rnd * (b1 - a1 + 1) + a1)
            Text4.Text = Text4.Text & tb(r1) & "、"
            ta(tbi(r1)) = -1
            n = n - 1
        Loop
        Text4.Text = Mid(Text4.Text, 1, Len(Text4.Text) - 1)
    End If
End If
Text4.Text = Text4.Text & vbCrLf
Label4.Caption = Val(Label4.Caption) + 1
End Sub
Private Sub Command3_Click()
mode = 1
End Sub
Private Sub Label8_Click()
Shell "explorer https://www.ixigua.com/home/103975774650"
End Sub
相关文章
|
6月前
|
人工智能 语音技术 云计算
基于客户真实使用场景的云剪辑Timeline问题解答与代码实操
本文为阿里云智能媒体服务IMS「云端智能剪辑」实践指南第6期,从客户真实实践场景出发,分享一些Timeline小技巧(AI_TTS、主轨道、素材对齐),助力客户降低开发时间与成本。
135635 86
基于客户真实使用场景的云剪辑Timeline问题解答与代码实操
|
4月前
|
运维 小程序 前端开发
好的商业模式-----小程序定制资料,加一张好看的海报,在推广中就可以找到用户中了,云服务部署收5000,部署是一种服务,定制化,游戏开发创者,仲裁劳务会剪视频好,提供服务,想增加一些新功能收费,会说
好的商业模式-----小程序定制资料,加一张好看的海报,在推广中就可以找到用户中了,云服务部署收5000,部署是一种服务,定制化,游戏开发创者,仲裁劳务会剪视频好,提供服务,想增加一些新功能收费,会说
|
6月前
|
JavaScript Java 测试技术
基于微信小程序的外卖点餐系统的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的外卖点餐系统的设计与实现(源码+lw+部署文档+讲解等)
|
6月前
|
弹性计算 供应链 测试技术
计算巢实操合集:软件用户使用服务及供应商进阶管理(系列四)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第四期了,本期将围绕软件用户使用服务实操以及供应商进阶管理实操,并且一步步教大家如何利用计算巢完成部署体验。
107663 1
|
6月前
|
弹性计算 供应链 开发者
计算巢实操合集:软件供应商发布服务实操(系列三)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第三期了,本期将围绕软件供应商发布服务实操
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏07游戏输入管理
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏07游戏输入管理
120 0
计算机高职专业VB知识要点001,模拟域名抢购软件案例代码开源,热身第一课
计算机高职专业VB知识要点001,模拟域名抢购软件案例代码开源,热身第一课
143 0
计算机高职专业VB知识要点001,模拟域名抢购软件案例代码开源,热身第一课
|
存储 前端开发 算法
从零开始实现放置游戏(十五)——实现战斗挂机(6)在线打怪练级
 本章初步实现游戏的核心功能——战斗逻辑。   战斗系统牵涉的范围非常广,比如前期人物的属性、怪物的配置等,都是在为战斗做铺垫。   战斗中,人物可以施放魔法、技能,需要技能系统支持。   战斗胜利后,进行经验、掉落结算。又需要背包、装备系统支持。装备系统又需要随机词缀附魔系统。   可以说是本游戏最硬核的系统。   因为目前技能、背包、装备系统都还没有实现。我们先初步设计实现一个简易战斗逻辑。   战斗动作仅包括普通攻击,有可能产生未命中、闪避和暴击。
从零开始实现放置游戏(十五)——实现战斗挂机(6)在线打怪练级
PancakeBot ,把薄饼做成任何你想要的样子 | 酷玩精选
也许你已经厌倦了传统的薄饼的单一样式,那是时候做出改变了,正巧 PancakeBot 可以帮你改变这一切。
155 0
PancakeBot ,把薄饼做成任何你想要的样子 | 酷玩精选