c# 数学游戏获胜计数器

本文关键字:获胜 计数器 游戏 | 更新日期: 2023-09-27 18:34:44

所以我创建了一个游戏,玩家一和玩家二可以玩一个游戏,他们回答数学问题,基本上他们一个接一个地进行 5 轮,所以如果一个玩家先回答正确问题,他们"赢",如果他们都回答正确,那就是"平局"。解释一个奇怪的游戏是一种奇怪的方式来解释,但这不是我的问题。我已经在一个班级里完成了游戏,它既实用又很好,我的问题是我需要玩家玩 5 场比赛,并告诉谁赢得游戏最多,例如:"玩家 1(或玩家 2,或平局(赢了 {0} 次!我尝试了很多不同的东西,但它都不起作用。这是我的代码:

static void Main(string[] args)
{      
   string ID = "";
   bool gOver = false;
   Console.WriteLine("ID 1 ");
   ID = Console.ReadLine();
   MathGame p1 = new MathGame(1, ID);
   Console.WriteLine();
   Console.WriteLine("ID 2");
   ID = Console.ReadLine();
   MathGame p2 = new MathGame(2, ID);
   Console.WriteLine();
   while (!gOver)
   {              
      MathGame.prblm();
      while (!p1.Game() && !p2.Game())                   
         gOver = true;               
   }
}

重申;我想让游戏循环 5 次,告诉我谁赢得最多。我觉得我的错误很简单,把它放在我累的地方。感谢任何和所有的帮助,这个网站非常有帮助。

c# 数学游戏获胜计数器

你需要将

游戏包装在一个 for 循环中,而不是一段时间。然后,当(游戏的(while循环结束时,您应该检查谁赢了并统计它。在 for 循环之后,您应该有要显示的计数器。有很多方法可以"计数",但最简单的方法是为每个玩家添加一个变量,并在他们获胜时增加。

const in GAME_COUNT_TO_PLAY = 5;
for(int i = 0; i < GAME_COUNT_TO_PLAY; i++)
{
      MathGame.prblm();
       while (!p1.Game() && !p2.Game())
       {
           //Keep track of score here, incriment some counter for winner
           //e.g. if(p1.Win) p1Count++;
        }
}

在 for 循环之后,您可以检查谁赢了。

if(p1Count > p2Count)
    Display("Player 1 Wins!");
else if(p1Count < p2Count)
    Display("Player 2 Wins!")
else
    Display("Draw!");