我正在ASP.NET MVC中开发一个程序,我的目标是制作高尔夫球记分卡。
在高尔夫比赛中,每个球员都有一个让分,这让他们在每个高尔夫球场上都有许多额外的挥杆动作。然后将这些数字分配到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;
}
这是我的课程
public Class Result
{
public int Id {get;set}
public int Stroke{get;set} //number of strokes on the hole
public int Score {get;set} //number of extra stroke on the hole
public int Point {get;set}
}
答案 0 :(得分:0)
即使不是100%正确,以下代码中的内容也应有所帮助(我正在通过手机回复)。使用模数运算符循环遍历您的列表,增加结果笔划,同时减少笔划参数。
int index = 0;
while (stroke > 0)
{
stroke--;
MyList[index].Stroke++;
index = (index + 1) % MyList.Count;
}
您还需要考虑处理列表为空等的情况。