C# 高尔夫HCP计算器

C# 高尔夫HCP计算器,c#,asp.net-mvc,for-loop,C#,Asp.net Mvc,For Loop,我正在ASP.NETMVC中开发一个程序,我的目标是制作一个高尔夫记分卡 在高尔夫运动中,每个球员都有一个障碍,这给了他们在每个球场上额外击球的次数。然后,根据孔上的索引,这些数字分布在18个孔上,这取决于孔的硬度。例如,如果你获得25个额外笔划,那么在孔1-18上获得一个笔划,然后在索引孔1-7上获得一个额外笔划,因此这些孔上有两个额外笔划 我的记分卡显示在视图中,孔编号旁边有一个字段,我想在该字段中显示此孔上的额外笔划数。现在我想做一个函数来分配这些额外的笔划 我对这些函数的想法是,我将球员

我正在ASP.NETMVC中开发一个程序,我的目标是制作一个高尔夫记分卡

在高尔夫运动中,每个球员都有一个障碍,这给了他们在每个球场上额外击球的次数。然后,根据孔上的索引,这些数字分布在18个孔上,这取决于孔的硬度。例如,如果你获得25个额外笔划,那么在孔1-18上获得一个笔划,然后在索引孔1-7上获得一个额外笔划,因此这些孔上有两个额外笔划

我的记分卡显示在视图中,孔编号旁边有一个字段,我想在该字段中显示此孔上的额外笔划数。现在我想做一个函数来分配这些额外的笔划

我对这些函数的想法是,我将球员记分卡和笔划数作为一个参数传入,然后在某种for循环中,将笔划数分布到18洞。然后返回列表,以便在视图中显示它

谁能帮我写这个函数

/迈克

我就是这样开始的,但却被卡住了

public static List<Result> DistributeStrokes (int stroke,List<Result>MyList)

{

for(int i=0; i< MyList.count; i--;)

  {

   //do some code to add the strokes on the list 

  }

   return MyList;

 }

下面代码的内容应该会有所帮助,即使不是100%正确,我还是在用手机回复。使用“模数”操作符在列表中循环,增加结果笔划,同时减少笔划参数

int index = 0;
while (stroke > 0) 
{
    stroke--;
    MyList[index].Stroke++;
    index = (index + 1) % MyList.Count;
}

你也要考虑处理列表空的情况,等等。

到目前为止你尝试了什么?告诉我们你有什么,告诉我们什么不起作用,我相信有人会帮上忙。现在更新我的评论Andy Lamb修复的洞数是多少?我们总是有18个洞吗?还有,如果你有15个笔划,那么逻辑是,你有一个额外的孔,用于排除1到15个孔?。对不起,我不知道高尔夫球的规则。
int index = 0;
while (stroke > 0) 
{
    stroke--;
    MyList[index].Stroke++;
    index = (index + 1) % MyList.Count;
}