gpt4 book ai didi

c# - 基本的 C# 骰子游戏

转载 作者:行者123 更新时间:2023-11-30 15:36:21 30 4
gpt4 key购买 nike

我是 C# 和一般编码的新手。为了尝试提高我的技能,我正在尝试创建一个基本游戏,其中两名玩家掷骰子并记录他们的分数。玩家达到 20 点即获胜。每位玩家轮流掷骰子,将第一次掷骰与第二次掷骰相加,依此类推,直到其中一人达到 20。如果玩家掷出 6,则可以再次掷骰子。

我目前的代码是:


        do
{

Console.Write("Enter the name of Player 1: ");
Player[0] = Console.ReadLine();
Console.Write("Enter the name of Player 2: ");
Player[1] = Console.ReadLine();

Random DiceRandom = new Random();
DiceThrow[0] = DiceRandom.Next(1, 7);

int i = 0;
while (i <= 1)
{
DiceThrow[0 + i] = DiceRandom.Next(1, 7);
Console.ReadLine();
Console.Write(Player[0 + i] + " rolled a " + DiceThrow[0 + i]);
if (DiceThrow[0 + i] != 6) i++;
}

Console.ReadLine();
PlayerTotal[0] = DiceThrow[0];
PlayerTotal[1] = DiceThrow[1];


Console.ReadLine();
Console.Write(Player[0] + " currently has " + PlayerTotal[0]);
Console.ReadLine();
Console.Write(Player[1] + " currently has " + PlayerTotal[1]);
Console.ReadLine();

}
while (PlayerTotal[0] == 20);
while (PlayerTotal[1] == 20);

我特别纠结的是将玩家的第一卷添加到第二卷。如果玩家掷出 6,则将 6 添加到他们重新掷出的结果中。

任何帮助都将不胜感激。

最佳答案

这里的代码有很多问题:

  1. 你在循环中询问玩家姓名
  2. 您正在循环内初始化随机生成器(这可能会在不同的循环中产生相同的结果,因为随机生成器可以使用相同的种子)
  3. 您正在使用 = 而不是 += 重置总数
  4. 停止条件是totals == 20 而不是total < 20
  5. 您正在使用两个 while 语句而不是 AND (&&) 条件

这只是一个简短的概述..

这可能是一个解决方案:

  Console.Write("Enter the name of Player 1: ");
Player[0] = Console.ReadLine();
Console.Write("Enter the name of Player 2: ");
Player[1] = Console.ReadLine();

Random DiceRandom = new Random();

do
{

int i = 0;
while (i <= 1)
{
int thisThrow = DiceRandom.Next(1, 6);
DiceThrow[0 + i] += thisThrow;
Console.ReadLine();
Console.Write(Player[0 + i] + " rolled a " + thisThrow);
if (thisThrow != 6) i++;
}

Console.ReadLine();
PlayerTotal[0] += DiceThrow[0];
PlayerTotal[1] += DiceThrow[1];


Console.ReadLine();
Console.Write(Player[0] + " currently has " + PlayerTotal[0]);
Console.ReadLine();
Console.Write(Player[1] + " currently has " + PlayerTotal[1]);
Console.ReadLine();

}
while (PlayerTotal[0] < 20 && PlayerTotal[1] < 20);

关于c# - 基本的 C# 骰子游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13798480/

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