gpt4 book ai didi

C#猜谜游戏只能猜一次

转载 作者:行者123 更新时间:2023-12-05 01:50:50 27 4
gpt4 key购买 nike

我坚持我的猜谜游戏,我应该只有一次猜测的机会,然后得到一个“结束”线。我曾尝试执行 break 和 breakLoop 命令,但我没有用,而且我不知道如何解决它...有人可以帮我吗?这是我的代码,我知道它不是最优的,因为我还在学习 C#。

 Console.WriteLine("gissa talet\nDu ska nu gissa ett tal mellan 1 ocn 100, så 
varsågod..\nskriv in ett tal");
var str = Console.ReadLine();
int guess = Convert.ToInt32(str);
//gonna make it random between 1-100
Random rd = new Random();
int rand_num = rd.Next(1, 10);
{
//when i guess right
if (guess == rand_num)
{
Console.WriteLine("Ditt Tal är rätt. grattis!");
}
//when it´s to small guess
else if (guess < rand_num)
{
Console.WriteLine("Ditt tal är för litet. gissa på ett större tal");
}
//when i guess to big
else if (guess > rand_num)
{
Console.WriteLine("Ditt tal är för stort. gissa på ett mindre tal");
}
// when i was close to the answer
else if (Math.Abs(guess - rand_num) <= 3)
{
Console.WriteLine("Du är dock nära och det bränns");
}

// when i guess a number thats over the number i chould guess
else (guess > 10)
{
Console.WriteLine("Du måste skriva in ett tal mellan 1 och 100!");
}
}

最佳答案

编辑:因为您确实只希望允许一个 猜测,所以不需要循环并且您的代码应该可以正常工作(除了在最后一个if 语句之后缺少一个else 之外)。要在最后有一个“游戏结束”通知,只需添加

Console.WriteLine("Game ended.");

在代码的末尾。

此外,您的代码中不需要一对大括号。 int rand_num = rd.Next(1, 10);之后开场一期以及代码最后的结尾。


这里仍然是原来的答案:

首先,只要答案不正确或没有更多尝试(以防尝试次数有限),您希望围绕代码的某些部分进行循环以重复:

const int tries = 10;              // Give the player 10 tries to guess correctly.
for (int i = 0; i < tries; i++)
{
if (guessedCorrectly)
{
break;
}
}

其次,您想要在开始循环之前定义随机数,并且您想要从循环内部的玩家那里查询新的猜测:

//Set random number.
//Define Loop.
{
//Get new guess from player.
//Check if guess was correct.
//Decide weather the loop must continue or ended.
}
//Display some result.

第三,你需要改变你的if else的顺序声明。在您的代码中,if (Math.Abs(guess - rand_num) <= 3) 中的语句守卫永远不会被执行,因为你检查 guess < rand_numguess > rand_num前。并且由于您使用 else if ,如果之前的条件为真,则永远不会评估以下条件。使用 if else 时声明,始终在检查更广泛的案例之前检查更具体的案例。但在您的情况下,您可能只想删除 else , 因此两个条件(和两个文本)都可以执行。

关于C#猜谜游戏只能猜一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72797675/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com