我的一位教授給了我們一個創建隨機數猜測遊戲的項目。遊戲的要求是它至少有一個公共屬性和一個公共方法,然後是循環的實際規則。遊戲還必須包含至少兩個類。我會列出我現有的代碼,希望有人能指引我朝着正確的方向發展。運行時,它只運行有關規則的console.writeline消息。然後停止。循環不會迭代,而我放置在非測試類中的「方法」。自從一開始我就一直在爲這門課而苦苦掙扎,因爲我之前沒有編程經驗。我見過的這個遊戲的大部分例子都只涉及一個類。所以我不完全確定我應該在另一箇中放置什麼,或者如何將它們分爲兩類,哪些代碼放在哪裏。隨機數字遊戲與兩個類,不迭代。建議?
我的代碼如下,首先是非測試類。
using System;
namespace numbergame
{
class mysteryNumber
{
public int myRand {get; set;}
public int playerGuess { get; set; }
public void DisplayMessage()
{
Console.WriteLine("The most important rule of the Number Guessing Game is that \nyou can't talk about the Number Guessing Game.");
}
下一個代碼是我的代碼和主要方法。
using System;
namespace numbergame
{
class mysteryNumberTest
{
static void Main(string[] args)
{
int myRand;
int guessCounter = 1;
int playerGuess = 0;
Console.WriteLine("The number you must choose is a number between \n1 and 100. Your attempts remaining will be \nshown upon incorrect guess. The number of attempts it took you will be\n shown upon correct guess.");
Random randomNumbers = new Random();
myRand = randomNumbers.Next(1, 100);
{
while (guessCounter < 5) ;
Console.WriteLine("Feeling lucky, punk? Guess your number: ");
playerGuess = Convert.ToInt32(Console.ReadLine());
{
if (playerGuess == myRand)
Console.WriteLine("Congratulations! You're a real winner!\n");
Console.WriteLine("The number of attempts it took you was: {0}", guessCounter);
{
guessCounter = guessCounter + 10; }
if (playerGuess != myRand)
{ guessCounter += 1; }
Console.WriteLine("No. You have made {1} attempts.\nYou have {2} attempts left.", guessCounter, (5 - guessCounter));
if (guessCounter >= 6)
Console.WriteLine("The number of guesses was exceeded.");
}
}
}
}
}
第一個非測試類中的實例變量和自動化屬性看起來好像沒有任何用處。 DisplayMessage()方法似乎也可能實際上不起作用。
但我不知道。我不知道爲什麼我的循環沒有開始,當它開始時,我有一種感覺,我的猜測可能不會增加我想要的方式,因爲我在上週的練習中遇到了這個問題。
任何幫助表示讚賞。 :(
你的代碼似乎有很多不必要的匿名範圍正在使用,好像它屬於已經移動的控制語句,比如你的'while(guessCounter <5);'語句(它不會'實際上做任何事情)。我建議你自己仔細閱讀你的代碼。 – Dai