雙色球隨機選【代碼】


如題,代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Random r = new Random();
            int 紅球池 = 33, 藍球池 = 16,剩余紅球=6,應選紅球=6,剩余藍球=1/*,選藍球=1*/,t;
            List<string> 紅球, 藍球,選擇=new List<string>();
            string 預選;
            紅球 = 初始化(紅球池).ToList();
            藍球 = 初始化(藍球池).ToList();
            //預選紅球開始
            do
            {
                Console.WriteLine("輸入預選紅球[回車跳過]:");
                預選 = Console.ReadLine();
                if(預選.Length==1)
                {
                    預選 = "0" + 預選;
                }
                if(紅球.Remove(預選))
                {
                    選擇.Add(預選);
                    剩余紅球--;
                }
            } while (預選!="");
            //預選紅球結束
            for (int i = 0; i < 剩余紅球; i++)
            {
                t = r.Next(紅球.Count);
                r = new Random(t);
                選擇.Add(紅球[t]);
                紅球.RemoveAt(t);
            }
            選擇.Sort((x, y) => x.CompareTo(y));
            //預選藍球開始
            do
            {
                Console.WriteLine("輸入預選藍球[回車跳過]:");
                預選 = Console.ReadLine();
                if (預選.Length == 1)
                {
                    預選 = "0" + 預選;
                }
                if (藍球.Remove(預選))
                {
                    選擇.Add(預選);
                    剩余藍球--;
                }
            } while (預選 != "");
            //預選藍球結束
            for (int i = 0; i < 剩余藍球; i++)
            {
                t = r.Next(藍球.Count);
                選擇.Add(藍球[t]);
                藍球.RemoveAt(t);
            }
            //開始輸出
            Console.WriteLine("紅球:");
            for (t = 0;  t< 應選紅球; t++)
            {
                Console.Write($"{選擇[t]}\t");
            }
            Console.WriteLine("\n藍球:");
            for (; t < 選擇.Count; t++)
            {
                Console.Write($"{選擇[t]}\t");
            }
            Console.Write("\n\n程序結束,按任意鍵退出");
            Console.ReadKey();
        }
        static IEnumerable<string> 初始化(int 個數)
        {
            for (int i = 0; i < 個數; i++)
            {
                if (i < 9)
                {
                    yield return "0" + (i + 1).ToString();
                }
                else
                {
                    yield return (i + 1).ToString();
                }
            }
        }
    }
}

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM