private void CaculateBonus_14C(IWinNumberAnalyzable checker, List <int> bonusLevelList) { var hitCount = 0; var winCount = 0; var loseCount = 0; var zhu = 1; for (int i = 0; i < TotalNumber; i++) { var ante = AnteCodeNumbers[i]; var win = checker.WinNumbers[i]; if (ante.Contains(win) || (IsEnableWildcard && win == Wildcard)) { hitCount++; if (win != Wildcard) { winCount += ante.Length - win.Length; } if (ante.Length > 1 && win == Wildcard) { zhu *= ante.Length; } } else { loseCount = ante.Length; } } if (hitCount == TotalNumber) { for (int k = 0; k < zhu; k++) { bonusLevelList.Add(1); } //for (int j = 0; j < winCount * zhu; j++) //if (checker.WinNumbers.Contains(Wildcard)) //{ // var count = CaculateBonus_14C_Zhong2(checker); // for (int j = 0; j < count; j++) // { // bonusLevelList.Add(2); // } //} //else //{ for (int j = 0; j < winCount * zhu; j++) { bonusLevelList.Add(2); } //} } else if (hitCount == TotalNumber - 1) { //for (int j = 0; j < loseCount * zhu; j++) for (int j = 0; j < loseCount * zhu; j++) { bonusLevelList.Add(2); } } }
private int CaculateBonus_14C_Zhong2(IWinNumberAnalyzable checker) { var count = 0; //var anteCodeArray = "310,310,310,310,310,310,310,310,310,310,310,310,310,310".Split(','); var strL = new List <string>(); for (int i = 0; i < AnteCodeNumbers.Count(); i++) { var valu = AnteCodeNumbers[i]; AnteCodeNumbers[i] = "*"; strL.Add(string.Join(",", AnteCodeNumbers)); AnteCodeNumbers[i] = valu; } foreach (var item in strL) { var winCount = 0; var zhong = 0; var zhu = 1; var anteList = item.Split(','); for (int i = 0; i < TotalNumber; i++) { var ante = anteList[i]; if (ante == "*") { continue; } var win = checker.WinNumbers[i]; if (ante.Contains(win) || (IsEnableWildcard && win == Wildcard)) { zhong++; winCount += ante.Length - win.Length; if (ante.Length > 1 && win == Wildcard) { zhu *= ante.Length; } } } if (zhong == TotalNumber - 1) { for (int i = 0; i < zhu * winCount; i++) { count++; } } } return(count); }
private void CaculateBonus_R9(IWinNumberAnalyzable checker, List <int> bonusLevelList) { var numHitCount = 0; var danHitCount = 0; var zhu = 1; var danList = new List <string>(); var numList = new List <string>(); for (int i = 0; i < TotalNumber; i++) { var ante = AnteCodeNumbers[i]; var win = checker.WinNumbers[i]; if (ante != Wildcard && (ante.Contains(win) || (IsEnableWildcard && win == Wildcard))) { if (DanNumbers.Contains(i)) { danHitCount++; danList.Add(ante); } else { numHitCount++; numList.Add(ante); } if (ante.Length > 1 && win == Wildcard) { zhu *= ante.Length; } } } var hitCount = numHitCount + danHitCount; if (danHitCount >= DanNumbers.Length) { if (hitCount >= BallNumber) { var c = new Combination(); c.Calculate(numList.ToArray(), BallNumber - DanNumbers.Length, (item) => { for (int i = 0; i < zhu; i++) { bonusLevelList.Add(1); } }); } } }
private void CaculateBonus(IWinNumberAnalyzable checker, List <int> bonusLevelList) { var hitCount = 0; for (int i = 0; i < TotalNumber; i++) { var ante = AnteCodeNumbers[i]; var win = checker.WinNumbers[i]; if (ante.Contains(win) || (IsEnableWildcard && win == Wildcard)) { hitCount++; } } if (hitCount == TotalNumber) { bonusLevelList.Add(1); } }