C#版抽奖--双色球抽奖源代码

C#版抽奖--双色球抽奖源代码

[code]

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Collections;

namespace TwoColor
{
    class Program
    {
        static void Main(string[] args)
        {                  
            //初始化两色球
            ArrayList alRed = new ArrayList();
            for (int i = 1; i < 34; i++)
            {
                alRed.Add(i);
            }
            ArrayList alBlue = new ArrayList();
            for (int i = 1; i < 17; i++)
            {
                alBlue.Add(i);
            }
            //输入红色过滤
            Console.Write("please input bad red number:");
            string exceptRed = Console.ReadLine();
           
            //输入蓝色过滤
            Console.Write("please input bad blue number:");
            string exceptBlue = Console.ReadLine();
            alRed = removeBall(alRed, exceptRed);
            alBlue = removeBall(alBlue, exceptBlue);


            ArrayList[] birth = new ArrayList[5];
            for (int i = 0; i < 5; i++)
            {
                birth[i] = birthBall(alRed, alBlue);
                for (int j = 0; j < birth[i].Count; j++)
                    Console.Write("{0,4}",birth[i][j].ToString());
                Console.WriteLine();
            }
           
            Console.Read();
        }

        //生成球
        public static ArrayList birthBall(ArrayList red, ArrayList blue)
        {
            ArrayList reBirth = new ArrayList();
            ArrayList tempRed = new ArrayList();
            ArrayList tempBlue = new ArrayList();
            for (int i = 0; i < red.Count; i++)
            {
                tempRed.Add(red[i]);
            }
            for (int i = 0; i < blue.Count; i++)
            {
                tempBlue.Add(blue[i]);
            }
           
            int rndNum = 0;
            for (int i = 0; i < 6; i++)
            {
                Random rnd = new Random(getRandom());
                rndNum = rnd.Next(tempRed.Count-1);
                reBirth.Add(tempRed[rndNum]);
                tempRed.Remove(tempRed[rndNum]);
            }
            reBirth.Sort();
            Random rnds = new Random(getRandom());
            rndNum = rnds.Next(tempBlue.Count - 1);
            reBirth.Add(tempBlue[rndNum]);
           
            return reBirth;

        }

        //得到一个随机大数
        public static int getRandom()
        {
            string tempStr = Path.GetTempFileName().ToString();
            tempStr = tempStr.Substring(tempStr.IndexOf("\\tmp") + 4);
            tempStr = tempStr.Replace(".tmp", "");
            int tempA = Convert.ToInt32(tempStr, 16) + DateTime.Now.Millisecond/2;
            return tempA;
        }

        //过滤球
        public static ArrayList removeBall(ArrayList al, string filter)
        {
            string[] filBall;
            if (filter.IndexOf(',') > -1)
            {
                filBall = filter.Split(',');
            }
            else
            {
                filBall = filter.Split(' ');
            }
            for (int i = 0; i < filBall.Length; i++)
            {
                if(filBall[i].Trim()!=""&&al.Contains(int.Parse(filBall[i].Trim())))
                {
                    al.Remove(int.Parse(filBall[i].Trim()));
                }
            }
            return al;
        }
    }
}
[/code]




[本日志由 Lynn 于 2008-12-31 08:07 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: C#版抽奖 双色球 抽奖源代码
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.