【问题标题】:Golf HCP Calculator高尔夫 HCP 计算器
【发布时间】:2019-03-13 12:20:07
【问题描述】:

我正在使用 ASP.NET MVC 开发一个程序,我的目标是制作高尔夫记分卡。

在高尔夫运动中,每个球员都有一个差点,这让他们在他们所打的每个高尔夫球场上都有一些额外的击球次数。然后这些数字根据孔上的索引分布在 18 个孔上(它有多难)例如,如果您获得 25 个额外的击球,您将在 1-18 洞获得 1 个击球,然后在索引孔 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}

}

【问题讨论】:

  • 到目前为止你尝试过什么?向我们展示您所拥有的,告诉我们什么是行不通的,我相信有人能够提供帮助。
  • 现在更新了我的评论 Andy Lamb
  • 孔数是固定的吗?我们总是正好有 18 个洞吗?而且,如果您有 15 次击球,逻辑是您为第 1 到 15 洞多出一个洞(包括 15 个不包括在内?)。抱歉,我不懂高尔夫规则。

标签: c# asp.net-mvc for-loop


【解决方案1】:

即使不是 100% 正确(我正在通过手机回复),以下代码中的内容也应该有所帮助。使用模数运算符循环遍历您的列表,增加结果笔划,同时减少笔划参数。

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

您还需要考虑处理列表为空等情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-23
    • 2010-09-18
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 2014-10-06
    • 2010-12-17
    • 2010-12-01
    相关资源
    最近更新 更多