头像滚动抽奖小程序叫什么

头像滚动抽奖小程序叫什么,第1张

有1、大转盘大转盘抽奖活动是常用的抽奖类小程序之一,几乎每个企业都有过大转盘抽奖活动。这类型的小游戏胜在它 *** 作简单,点击中间的抽奖按钮就可以进行随机抽奖。而且转盘上还能写上能获得的奖品名字,直观清晰。参与者能看见自己获奖的概率和过程,可信度比较高。

2、游戏积分抽奖这是需要游戏小程序先参与一个小游戏,获得一定积分,获得闯过一定关卡之后才能获取抽奖机会的抽奖小程序。相比直接白捡的抽奖次数来说,自己“挣”来的机会,会让参与者更加珍惜,在之后的抽奖和获奖的过程中,带来的刺激和兴奋感也会更高。3、大屏现场抽奖大屏抽奖小程序 也是运用比较广泛的一种,现场客户先根据微信扫一扫报名大屏抽奖活动,进行在线抽奖,后边依据扫二维码现场参与用户的头像图片,开展头像图片滚动进行在线抽奖。

我用多线程写的,你可以参考下。

系统界面图如下:(注:重置功能为清除已经中奖号码,回归1-100都可以中奖状态。)

代码:

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent()

        }

        System.Threading.Thread g_Thread = null

        List<int> g_list = new List<int>()

        int g_Num = 0

        delegate void g_delegate()

        /// <summary>

        /// 开始

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void button2_Click(object sender, EventArgs e)

        {

            if(g_list.Count==100)

            {

                MessageBox.Show("所有数字已使用,请重置!")

                return

            }

            button3.Enabled = true

            Random r = new Random()

            g_delegate dele= ChangeTxt

            g_Thread = new System.Threading.Thread(() =>

            {

                while(this.IsDisposed==false)

                {

                    g_Num = r.Next(1, 100)

                    if(g_list.Contains(g_Num))

                    {

                          g_Num =  1

                    }

                    while(g_list.Contains(g_Num))

                    {

                        g_Num++

                    }

                    this.Invoke(dele)

                    System.Threading.Thread.Sleep(50)

                }

            })

            g_Thread.Start()

        }

        void ChangeTxt()

        {

            label2.Text = g_Num.ToString()

        }

        /// <summary>

        /// 停止

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void button3_Click(object sender, EventArgs e)

        {

            //if(g_Thread.ThreadState==System.Threading.ThreadState.Running)

            {

                g_Thread.Abort()

                g_list.Add(Convert.ToInt32(label2.Text))

            }

            button3.Enabled = false

        }

        /// <summary>

        /// 重置

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void button1_Click(object sender, EventArgs e)

        {

            g_list.Clear()

        }

        private void Form1_FormClosed(object sender, FormClosedEventArgs e)

        {

            System.Environment.Exit(0)

        }

    }

可以不用中断。你只要写个段码的数值,然后在数组里加一个变量。比如“uchardm[]={0xc0,0xa4,0xf9.}“每次按下一个键数组里的变量就加一。做按键的时候要记住去斗。归0的按键就更好写了,只要按下数组里的变量等于0就行了。希望能帮到你,亲~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11033874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存