zoukankan      html  css  js  c++  java
  • 开奖计算---五星直选复式

    开奖结果为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一起讨论

  • 相关阅读:
    Error-Project facet Java version 1.8 is not supported
    如何运行Struts2官网最新Demo?
    Java计算两个字符串日期之间的天数差
    Mybatis XML配置
    使用本地缓存快还是使用redis缓存好?
    mysql数据统计技巧备忘录
    java中的全局变量如何实现?ThreadLocal~
    干货!一次kafka卡顿事故排查过程
    《Java 多线程编程核心技术》- 笔记
    《分布式服务框架原理与实践》- 总结一下吧
  • 原文地址:https://www.cnblogs.com/heqinghua/p/5468174.html
Copyright © 2011-2022 走看看