今天來寫簡報上的題目!
基本上就是猜數字遊戲的進化版本,我直接貼老師寫的規則:
-電腦先隨機產生一個四個位數都不同的四位數作為謎底
-最高位數字(千位數)可以是0
-謎底為0567,所猜數字為5566
-5、5、6、6均出現在謎底中,所以m等於4
-其中一個5一個6與謎底的第二與第三位數之位置與數值均相同,所以n等於2
-電腦顯示2A4B
這些就是進階的部分ㄌ
在開始處理下面那些額外的輸出之前,我先寫出一個基本的猜數字遊戲,符合前兩項並有五次機會
Random m = new Random();
int nu = m.Next(9999);
string s = nu.ToString();
while (s.Length != 4)
{
s = "0" + s; //確保為四位數字
}
int i =0; //之後迴圈用
string a = Convert.ToString(Console.ReadLine());
while (true)
{
if (a == s)
{
Console.WriteLine("You are right");
break;
}
else if(i<=5)
{
Console.WriteLine("Try again");
a = Convert.ToString(Console.ReadLine());
i++;
}
}
基本上遊戲功能就做完了,接下來是麻煩ㄉ判斷輸出部分
按照老師的規則,我必須將電腦生成的數字與玩家輸入的數字都拆成array去比對
於是我拿出了之前寫過的:
ToCharArray
int[]
以及後來查到的 string[]
好,沒一個能用,謝謝
直到今天我才知道C#的array並不像Python,一個list裡面要塞數字、字串、另一個list通通都可以
而是int[]只能是int,string[]只能是string,要轉都轉不了......
啊啊啊啊怎麼這麼難用!!!!睡覺!!!晚安!!!