C# 我该如何为我的随机数字猜谜游戏C创建赢数和猜数#
嘿,我已经准备好了我的猜谜游戏所需的所有东西,所有东西都检查出来并运行,没有问题,唯一的问题是我想要一个wincount和一个guess count,这样用户就不会得到比程序要求更多的猜测。目前,该程序会告诉您应该得到多少猜测,但它只会让您猜测一次,因为只有一个if语句,那么我该如何做呢C# 我该如何为我的随机数字猜谜游戏C创建赢数和猜数#,c#,count,console,counter,C#,Count,Console,Counter,嘿,我已经准备好了我的猜谜游戏所需的所有东西,所有东西都检查出来并运行,没有问题,唯一的问题是我想要一个wincount和一个guess count,这样用户就不会得到比程序要求更多的猜测。目前,该程序会告诉您应该得到多少猜测,但它只会让您猜测一次,因为只有一个if语句,那么我该如何做呢 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Thread
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GuessingGame
{
class Program
{
static void Main(string[] args)
{
// Declare variables
Int32 currentGuess, guessCount, winCount, upperLimit, randomNumber;
double maxGuesses;
bool gameOver;
char playAgain;
Random random = new Random();
// Display title
Console.WriteLine("Welcome to the high/low guessing game.");
//Request user input for upper limit
Console.WriteLine("Enter Upper range (e.g. 100):");
upperLimit = Int32.Parse(Console.ReadLine());
//Generate Random Number
randomNumber = random.Next(1, upperLimit);
maxGuesses = Math.Ceiling(Math.Log(upperLimit, 2) - 1);
// Begin game
Console.WriteLine("I picked a number between 1 and {0} you get {1} chances to guess it", upperLimit, maxGuesses);
// Begin Guessing Process
//Guess #1
{
Console.WriteLine(" Enter Guess #1: ");
currentGuess = Int32.Parse(Console.ReadLine());
if (currentGuess == randomNumber)
{
Console.WriteLine("You got it!");
}
if (currentGuess > randomNumber)
{
Console.WriteLine("Too High");
}
if (randomNumber > currentGuess)
{
Console.WriteLine("Too Low");
}
Console.ReadLine();
}
}
}
}
谢谢,我一直在寻找更多的建议,但我可以分析这一点。
int gessNum = 0;
do
{
if (gessNum++ == maxGuesses){
Console.WriteLine("You lost");
break;
}
Console.WriteLine(string.Format(" Enter Guess {0}: ", gessNum));
currentGuess = Int32.Parse(Console.ReadLine());
if (currentGuess == randomNumber)
{
Console.WriteLine("You got it!");
}
if (currentGuess > randomNumber)
{
Console.WriteLine("Too High");
}
if (randomNumber > currentGuess)
{
Console.WriteLine("Too Low");
}
Console.ReadLine();
} while (currentGuess != randomNumber);