ตรวจสอบโซลูชันเพื่อเพิ่มวิธีการเพื่อให้เกมสามารถเล่นได้
โค้ดต่อไปนี้เป็นหนึ่งในวิธีแก้ไขปัญหาที่เป็นไปได้สําหรับการทดสอบจากหน่วยก่อนหน้า
Random random = new Random();
Console.WriteLine("Would you like to play? (Y/N)");
if (ShouldPlay())
{
PlayGame();
}
bool ShouldPlay()
{
string response = Console.ReadLine();
return response.ToLower().Equals("y");
}
void PlayGame()
{
var play = true;
while (play) {
var target = GetTarget();
var roll = RollDice();
Console.WriteLine($"Roll a number greater than {target} to win!");
Console.WriteLine($"You rolled a {roll}");
Console.WriteLine(WinOrLose(roll, target));
Console.WriteLine("\nPlay again? (Y/N)");
play = ShouldPlay();
}
}
int GetTarget()
{
return random.Next(1, 6);
}
int RollDice()
{
return random.Next(1, 7);
}
string WinOrLose(int roll, int target)
{
if (roll > target)
{
return "You win!";
}
return "You lose!";
}
รหัสนี้เป็นเพียง "โซลูชันที่เป็นไปได้อย่างหนึ่ง" เนื่องจากคุณอาจเพิ่มฟีดบรรทัดในจุดต่างๆ ค่าที่ส่งกลับแตกต่างกัน หรือจัดรูปแบบโค้ดแตกต่างกัน
โดยไม่คํานึงถึงความแตกต่างของรหัสเล็ก ๆ น้อย ๆ เมื่อคุณเรียกใช้โค้ด คุณควรเห็นผลลัพธ์ที่คล้ายกับรายการต่อไปนี้:
Would you like to play? (Y/N)
Y
Roll a number greater than 2 to win!
You rolled a 1
You lose!
Play again? (Y/N)
Y
Roll a number greater than 3 to win!
You rolled a 5
You win!
Play again? (Y/N)
Y
Roll a number greater than 2 to win!
You rolled a 3
You win!
Play again? (Y/N)
N
ถ้าคุณทําการทดสอบนี้เสร็จสมบูรณ์ ขอแสดงความยินดี! ดําเนินการต่อไปที่การตรวจสอบความรู้ในหน่วยถัดไป
สําคัญ
หากคุณประสบปัญหาในการดําเนินการการทดสอบนี้ให้พิจารณาตรวจสอบหน่วยก่อนหน้าก่อนที่คุณจะดําเนินการต่อ แนวคิดใหม่ ๆ ทั้งหมดที่เรากล่าวถึงในโมดูลอื่น ๆ จะขึ้นอยู่กับความเข้าใจของคุณเกี่ยวกับแนวคิดที่นําเสนอในโมดูลนี้