c# 彩票模拟器
// See https://aka.ms/new-console-template for more information
//六紅一白彩票模擬器?
//.NET 6.0 框架
//功能描述 :輸入7個數字(六紅一白),系統隨機產生7個數,對比之后給出是否中獎
// MakeRandom()部分代碼粘貼于博客,部分修改根據評論 https://blog.csdn.net/li951527983/article/details/86580279?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.pc_relevant_default&utm_relevant_index=5
int[] redrandem;
redrandem = MakeRandom();
Array.Sort(redrandem);
int k = writerandamnumber();
//Console.WriteLine("中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
switch (compare(inputred(), redrandem, inputwrite(), k))
{
? ? case 0:
? ? ? ? Console.WriteLine("未中獎,中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
? ? ? ??
? ? ? ? return;
? ? case 1:
? ? ? ? Console.WriteLine("恭喜你,中了一等獎,中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
? ? ? ?
? ? ? ? return;
? ? case 2:
? ? ? ? Console.WriteLine("恭喜你,中了二等獎,中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
? ? ? ??
? ? ? ? return;
? ? case 3:
? ? ? ? Console.WriteLine("恭喜你,中了三等獎,中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
? ? ? ??
? ? ? ? return;
? ? case 4:
? ? ? ? Console.WriteLine("恭喜你,中了四等獎,中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
? ? ? ?
? ? ? ? return;
? ? case 5:
? ? ? ? Console.WriteLine("恭喜你,中了五等獎,中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
? ? ? ? return;
? ? case 6:
? ? ? ? Console.WriteLine("恭喜你,中了六等獎,中獎號碼為\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], k);
? ? ? ??
? ? ? ? return;
}
//Array.Sort(randamnumber());
//int[] redrandem ;
//redrandem = randamnumber();
//Console.WriteLine("中獎號碼為{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}", redrandem[0], redrandem[1], redrandem[2], redrandem[3], redrandem[4], redrandem[5], writerandamnumber());
//判斷白球號碼是否合法 writeball
static int inputwrite()
{
//白球
? ? a: Console.WriteLine("請輸入1-16之間的數字");
? ? int j = int.Parse(Console.ReadLine());
? ? if (j < 0 || j > 16)
? ? {
? ? ? ? Console.WriteLine("輸入錯誤,請重新輸入");
? ? ? ? goto a;
? ? }
? ? else
? ? {
? ? ? ? return j;
? ? }
}
//輸入號碼 redball
static int[] inputred()
{
? ? //紅球
? ? int[] redball = new int[6];
? ? for (int i = 0; i < 6;)
? ? {
? ? ? ? Console.WriteLine("請輸入1-33之間的號碼:");
? ? ? ? int j = int.Parse(Console.ReadLine());
? ? ? ? bool again = Array.IndexOf(redball, j) > 0;
? ? ? ? if (again == false) //false 說明數組中沒有這個元素
? ? ? ? {
? ? ? ? ? ? if (j >= 1 && j <= 33)
? ? ? ? ? ? ? ? redball[i++] = j;
? ? ? ? ? ? else
? ? ? ? ? ? ? ? Console.WriteLine("超出取值范圍。");
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("本數字已經輸入過,請重新輸入");
? ? ? ? ? ? continue;
? ? ? ? }
? ? }
? ? return redball;
}
//隨機生成redball
int[] MakeRandom()
{
? ? int MaxValue = 33, Number = 6;
? ? int[] itemIds = new int[Number]; ? ? ? ?//新建數組,大小為6
? ? int[] temp = new int[MaxValue]; ? ? ? ? //新建數組,大小為 33
? ? for (int i = 0; i < MaxValue; i++)
? ? ? ? temp[i] = i+1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//temp[] 賦值 0 1 2 3 4 5 ....32
? ? for (int i = 0; i < Number; i++)
? ? {
? ? ? ? Random rand = new Random();
? ? ? ? int r = rand.Next(0, MaxValue);
? ? ? ? itemIds[i] = temp[r]; ? ? ? ? ? ? ? ? ? ? ? //給數組 itemIds[i] 賦值,r是隨機數
? ? ? ? int j = r;
? ? ? ? temp[j] = temp[MaxValue - 1];
? ? ? ? //for (int j = r ; j < MaxValue - 1 ; j++)
? ? ? ? //{
? ? ? ? // ? ?temp[j] = temp[j + 1]; ? ? ? ? ? ? ? ? ?//取過的數據被覆蓋掉
? ? ? ? //}
? ? ? ? MaxValue--;
? ? }
? ? return itemIds;
}
//隨機生成writeball
static int writerandamnumber()
{
? ? Random rand = new Random();
? ? int mad = rand.Next(1, 16);
? ? return mad;
}
//判斷是否中獎
static int compare(int[] redball, int[] mad , int write , int writeinput)
{
? ? int winningnumber = 0 ;
? ? int winningnumberWrite =0;
? ? for (int i = 0; i < 6; i++)
? ? {
? ? ? ? for (int j = 0; j < 6; j++)
? ? ? ? {
? ? ? ? ? ? if (redball[i] == mad[j])?
? ? ? ? ? ? { winningnumber++; } ? ? ? ?
? ? ? ? }
? ? }
? ? if (write == writeinput)
? ? ? ? winningnumberWrite = 1;
? ? return rule(winningnumber, winningnumberWrite);
}
static int rule(int winnum, int winnumwrite)
{
? ? if (winnum == 0 ?|| winnum == 1)
? ? ? ? return 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //未中獎
? ? else if (winnum == 0 && winnumwrite == 1)
? ? ? ? return 6;
? ? else if (winnum == 1 && winnumwrite == 1)
? ? ? ? return 6;
? ? else if (winnum == 2 && winnumwrite == 1)
? ? ? ? return 6; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //六等獎
? ? else if (winnum == 3 && winnumwrite == 1)
? ? ? ? return 5;
? ? else if (winnum == 4 && winnumwrite == 0)
? ? ? ? return 5; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //五等獎
? ? else if (winnum == 4 && winnumwrite == 1)
? ? ? ? return 4;
? ? else if (winnum == 5 && winnumwrite == 0)
? ? ? ? return 4; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //四等獎
? ? else if (winnum == 5 && winnumwrite == 1)
? ? ? ? return 3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //三等獎
? ? else if (winnum == 6 && winnumwrite == 0)
? ? ? ? return 2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //二等獎
? ? else if (winnum == 6 && winnumwrite == 1)
? ? ? ? return 1;
? ? else
? ? ? ? return -1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //一等獎
}
總結
- 上一篇: 分享3个方法,让你学会epub格式转换成
- 下一篇: [Unity实战]Xlua插件安装步骤(