SpecialValueFunction.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using SCC.Models;
  6. namespace SCC.Crawler.DT
  7. {
  8. public class SpecialValueFunction
  9. {
  10. /// <summary>
  11. /// [特殊项]福彩3D 012路走势图4
  12. /// </summary>
  13. /// <typeparam name="TEntity">泛型实体</typeparam>
  14. /// <param name="entity">实体</param>
  15. /// <param name="indexStart">开奖号开始</param>
  16. /// <param name="indexEnd">开奖号结束</param>
  17. /// <param name="count">项中列的个数</param>
  18. /// <param name="minNum">项最小值</param>
  19. /// <param name="maxNum">项最大值</param>
  20. [ChartFunction("[特殊项]福彩3D 012路走势图4", ChartItemType.SpecialValue_FC3D012_4, ChartItemClassName.SpecialValue)]
  21. public static void SpecialValue_FC3D012_4<TEntity>(TEntity entity, int indexStart, int indexEnd, int count,
  22. int minNum, int maxNum,
  23. ref int[] index) where TEntity : LotteryOpenCode
  24. {
  25. IList<int> list = LotteryUtils.GetOpenCodeList<TEntity>(entity, indexStart, indexEnd);
  26. for (int i = maxNum; i >= minNum; i--)
  27. {
  28. if (list.Contains(i))
  29. {
  30. index[i - minNum]++;
  31. }
  32. }
  33. }
  34. /// <summary>
  35. /// [特殊项]体彩P3 012路走势图4
  36. /// </summary>
  37. /// <typeparam name="TEntity">泛型实体</typeparam>
  38. /// <param name="entity">实体</param>
  39. /// <param name="indexStart">开奖号开始</param>
  40. /// <param name="indexEnd">开奖号结束</param>
  41. /// <param name="count">项中列的个数</param>
  42. /// <param name="minNum">项最小值</param>
  43. /// <param name="maxNum">项最大值</param>
  44. [ChartFunction("[特殊项]体彩P3 012路走势图4", ChartItemType.SpecialValue_TCP3012_4, ChartItemClassName.SpecialValue)]
  45. public static void SpecialValue_TCP3012_4<TEntity>(TEntity entity, int indexStart, int indexEnd, int count,
  46. int minNum, int maxNum,
  47. ref int[] index) where TEntity : LotteryOpenCode
  48. {
  49. IList<int> list = LotteryUtils.GetOpenCodeList<TEntity>(entity, indexStart, indexEnd);
  50. for (int i = maxNum; i >= minNum; i--)
  51. {
  52. if (list.Contains(i))
  53. {
  54. index[i - minNum]++;
  55. }
  56. }
  57. }
  58. /// <summary>
  59. /// [特殊项]福彩 双色球出号频率
  60. /// </summary>
  61. /// <typeparam name="TEntity">泛型实体</typeparam>
  62. /// <param name="entity">实体</param>
  63. /// <param name="indexStart">开奖号开始</param>
  64. /// <param name="indexEnd">开奖号结束</param>
  65. /// <param name="count">项中列的个数</param>
  66. /// <param name="minNum">项最小值</param>
  67. /// <param name="maxNum">项最大值</param>
  68. [ChartFunction("[特殊项]福彩双色球 出号频率", ChartItemType.SpecialValue_FCSSQ_ChuHaoPL, ChartItemClassName.SpecialValue)]
  69. public static void SpecialValue_FCSSQ_ChuHaoPL<TEntity>(TEntity entity, int indexStart, int indexEnd, int count,
  70. int minNum, int maxNum, ref int[] index, ref int[] itemIndex) where TEntity : LotteryOpenCode
  71. {
  72. IList<int> list = LotteryUtils.GetOpenCodeList<TEntity>(entity, indexStart, indexEnd);
  73. for (int i = maxNum; i >= minNum; i--)
  74. {
  75. if (list.Contains(i))
  76. {
  77. itemIndex[i - minNum]++;
  78. }
  79. }
  80. }
  81. /// <summary>
  82. /// [特殊项]福彩 双色球出号频率
  83. /// </summary>
  84. /// <typeparam name="TEntity">泛型实体</typeparam>
  85. /// <param name="entity">实体</param>
  86. /// <param name="indexStart">开奖号开始</param>
  87. /// <param name="indexEnd">开奖号结束</param>
  88. /// <param name="count">项中列的个数</param>
  89. /// <param name="minNum">项最小值</param>
  90. /// <param name="maxNum">项最大值</param>
  91. [ChartFunction("[特殊项]体彩大乐透 出号频率", ChartItemType.SpecialValue_TCDLT_ChuHaoPL, ChartItemClassName.SpecialValue)]
  92. public static void SpecialValue_TCDLT_ChuHaoPL<TEntity>(TEntity entity, int indexStart, int indexEnd, int count,
  93. int minNum, int maxNum, ref int[] index, ref int[] itemIndex) where TEntity : LotteryOpenCode
  94. {
  95. IList<int> list = LotteryUtils.GetOpenCodeList<TEntity>(entity, indexStart, indexEnd);
  96. for (int i = maxNum; i >= minNum; i--)
  97. {
  98. if (list.Contains(i))
  99. {
  100. itemIndex[i - minNum]++;
  101. }
  102. }
  103. }
  104. }
  105. }