• 开奖计算---五星直选复式


    开奖结果为5位数:

     万、千、百、十、个

    五星购买的时候必须至少每个位选择一个数进行组合,若每个位数对上计算中奖;那么我们必须先定义好复式的格式,如下:

    万千百十个

    开奖结果:1,2,3,4,5

    对数据进行组合:

    BetDetail的BetContent属性为投注内容,

    BetContent="1,2,3,4,5";

     1  /// <summary>
     2         /// 根据投注内容得到所有的组合情况
     3         /// </summary>
     4         /// <returns></returns>
     5         private List<string> GetAllBets(BasicModel.LotteryBasic.BetDetail item)
     6         {
     7             if (null == item || string.IsNullOrEmpty(item.BetContent))
     8                 return null;
     9             else
    10             {
    11                 var bets = item.BetContent.Split(',');
    12                 if (bets.Count() != 5)
    13                 {
    14                     return null;
    15                 }
    16                 else
    17                 {
    18                     var list = new List<string>();
    19                     var wan = bets[0].Select(m => Convert.ToInt32(m.ToString())).ToList();
    20                     var qian = bets[1].Select(m => Convert.ToInt32(m.ToString())).ToList();
    21                     var bai = bets[2].Select(m => Convert.ToInt32(m.ToString())).ToList();
    22                     var shi = bets[3].Select(m => Convert.ToInt32(m.ToString())).ToList();
    23                     var ge = bets[4].Select(m => Convert.ToInt32(m.ToString())).ToList();
    24                     list = (from w in wan
    25                             from q in qian
    26                             from b in bai
    27                             from s in shi
    28                             from g in ge
    29                             select string.Format("{0}{1}{2}{3}{4}", w, q, b, s, g)).ToList();
    30                     return list;
    31                 }
    32             }
    33         }
    View Code

    执行GetAllBets获取组合的结果,然后对结果进行比对,若与开奖结果的每个位置比对成功,那么久算中奖:

    1  var list = GetAllBets(item);
    2                 var result = list.Find(m => m == openResult.Replace(",", ""));
    3                 if (result != null)
    4                 {
    5                     item.IsMatch = true;
    6                     decimal stepAmt = 0;
    7                     item.WinMoney = TotalWinMoney(item, GetBaseAmt(item, ref stepAmt), stepAmt, 1);
    8                 }
    View Code

    若有不明白的请私信我或加群:542620409一起讨论

  • 相关阅读:
    Ado.Net 实体框架学习笔记3
    Ado.Net 实体框架学习笔记1
    PV3D的小练习~太阳系八大行星
    AS3数组的应用,flash制作流星雨~
    电脑安全措施小贴士(摘)
    Windows下MySql批处理命令
    命令行批量改文件名
    汉字转拼音(asp)(摘录)
    sql server login与user的区别(摘)
    MySql四舍五入
  • 原文地址:https://www.cnblogs.com/heqinghua/p/5468174.html
Copyright © 2020-2023  润新知