C# 简单的控制台游戏,列表计算每个玩家的总和
我正在创建一个简单的控制台应用程序。其基本思想是让用户输入一个玩家数量,然后循环将根据用户输入的数量开始询问x时间的玩家名称。然后游戏部分将开始,一个循环将在玩家列表中循环,每个玩家将投掷一个球3次,每次用户将输入一个分数;这些分数将在该用户完成投掷时添加并显示。循环到下一个玩家,并重复另一个3投。当总分低于100分时,循环将从第一名玩家开始,让第一名玩家再次投掷3次,在投掷结束时,他的分数将是第一轮加第二轮的分数C# 简单的控制台游戏,列表计算每个玩家的总和,c#,list,loops,for-loop,foreach,C#,List,Loops,For Loop,Foreach,我正在创建一个简单的控制台应用程序。其基本思想是让用户输入一个玩家数量,然后循环将根据用户输入的数量开始询问x时间的玩家名称。然后游戏部分将开始,一个循环将在玩家列表中循环,每个玩家将投掷一个球3次,每次用户将输入一个分数;这些分数将在该用户完成投掷时添加并显示。循环到下一个玩家,并重复另一个3投。当总分低于100分时,循环将从第一名玩家开始,让第一名玩家再次投掷3次,在投掷结束时,他的分数将是第一轮加第二轮的分数 现在我不知道如何创建这样一个列表和循环来区分球员之间的得分。我有两个列表,一个用
现在我不知道如何创建这样一个列表和循环来区分球员之间的得分。我有两个列表,一个用于存储球员,一个用于存储分数,不同球员的分数存储在同一个列表中,因此我无法正确计算每个球员的总和。任何想法和提示都会非常有用 一种不添加类的方法是使用dictorial>。 Key=球员姓名,Value=该球员的得分列表 首先,将每个玩家添加到一个空列表中 然后在您的循环中,您可以有如下内容:
int total = 0;
if(playerDictionary.ContainsKey(playerName))
foreach(int score in playerDictionary[playerName])
total += score;
Console.WriteLine(total)
为什么不创建一个带有score作为私有变量的Player类并创建一个返回它的方法呢?您需要重新开始您的设计。你的分数列表只是一个整数列表-它不会记录每个分数所属的玩家。你可以使用字典键=玩家,值=分数列表。我建议你也可以从游戏开发中找到有用的帮助:@WhyCry我有返回分数的功能,但我正试图在每个用户达到100分之前,将他们每3次投掷的分数相加。有什么想法吗?如果OP想要存储其他数据,如移动、错误答案等,那么重新设计代码?更好的方法是保存Player类的list/HashSet/KeyedCollection。公共类播放器{public string Name;public int Score;}@L.B嘿,实际上我还没有考虑这些,我是c新手,只尝试基本的东西,希望尽可能简单。