|
|
@@ -352,7 +352,7 @@ async function checkLongDragonNotify(pksPlanListData, pksPlanItemData) {
|
|
|
let oneCostB = Math.floor(lotteryCostB / 4);
|
|
|
let oneCostA = Math.floor(lotteryCostA / 5);
|
|
|
//let buySeriesNum = Math.floor(Math.log2(oneCostC)) + 1;
|
|
|
- let series10Cost = 521;
|
|
|
+ let series10Cost = 512;//Math.pow(2,9)
|
|
|
if (oneCostC >= series10Cost) {
|
|
|
if (!checkHitPrize(element.preDrawCode, element.planC, 0)) {
|
|
|
failItemC = element;
|
|
|
@@ -477,6 +477,53 @@ function checkHitPrize(drawCodeStr, planStr, posNum = 0) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+function calcPlanMatchCount(planArr, planStr){
|
|
|
+ let mateCount = 0;
|
|
|
+ for(let i=0; i < planArr.length; i++){
|
|
|
+ if(planStr.indexOf(planArr[i]) > -1){
|
|
|
+ mateCount+=1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return mateCount;
|
|
|
+}
|
|
|
+
|
|
|
+function analyseBetProbability(planType, pksPlanItemData, pksPlanListData){
|
|
|
+ let probability = 100;
|
|
|
+ let planC = pksPlanItemData.planC;
|
|
|
+ let planB = pksPlanItemData.planB;
|
|
|
+ let planA = pksPlanItemData.planA;
|
|
|
+ let planCArr = planC.split(',');
|
|
|
+ let planBArr = planB.split(',');
|
|
|
+ let planAArr = planA.split(',');
|
|
|
+ let maxMateCount = 7;
|
|
|
+ let curMateCount = 0;
|
|
|
+ if(planType == 'A'){
|
|
|
+ maxMateCount = Math.min(planAArr.length, planBArr.length) + Math.min(planAArr.length, planCArr.length);
|
|
|
+ curMateCount = calcPlanMatchCount(planAArr, planB) + calcPlanMatchCount(planAArr, planC);
|
|
|
+ }else if(planType == 'B'){
|
|
|
+ maxMateCount = Math.min(planBArr.length, planAArr.length) + Math.min(planBArr.length, planCArr.length);
|
|
|
+ curMateCount = calcPlanMatchCount(planBArr, planA) + calcPlanMatchCount(planBArr, planC);
|
|
|
+ }else{
|
|
|
+ maxMateCount = Math.min(planCArr.length, planAArr.length) + Math.min(planCArr.length, planBArr.length);
|
|
|
+ curMateCount = calcPlanMatchCount(planCArr, planA) + calcPlanMatchCount(planCArr, planB);
|
|
|
+ }
|
|
|
+ let factor1 = 25*(curMateCount/maxMateCount);
|
|
|
+
|
|
|
+ let oneCostC = Math.floor(pksPlanItemData.lotteryCostC/3);
|
|
|
+ let oneCostB = Math.floor(pksPlanItemData.lotteryCostB/4);
|
|
|
+ let oneCostA = Math.floor(pksPlanItemData.lotteryCostA/5);
|
|
|
+ let turnNumC = Math.floor(Math.log2(oneCostC));
|
|
|
+ let turnNumB = Math.floor(Math.log2(oneCostB));
|
|
|
+ let turnNumA = Math.floor(Math.log2(oneCostA));
|
|
|
+
|
|
|
+ let maxTurnCount = turnNumA*3;
|
|
|
+ let factor2 = 25*(turnNumC+turnNumB+turnNumA)/maxTurnCount;
|
|
|
+
|
|
|
+ probability = probability - factor1 - factor2;
|
|
|
+
|
|
|
+ return probability;
|
|
|
+}
|
|
|
+
|
|
|
async function checkPlanCBuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
let initCost = 1;
|
|
|
let turnCount = magicJS.data.read('168_PksPlanDrawTurnCountC', 0);
|
|
|
@@ -518,8 +565,11 @@ async function checkPlanCBuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
}
|
|
|
|
|
|
if (isPlanLotteryAutoBet()) {
|
|
|
- let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
- let betRet = await tryDragonBet(preDrawIssue, planC, turnOneCost, maxBetAmount);
|
|
|
+ let probability = analyseBetProbability('C', pksPlanItemData, pksPlanListData);
|
|
|
+ if(probability >= 70){
|
|
|
+ let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
+ let betRet = await tryDragonBet(preDrawIssue, planC, turnOneCost, maxBetAmount);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
magicJS.notification.appendNotifyInfo(tipsMsg);
|
|
|
@@ -568,8 +618,11 @@ async function checkPlanBBuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
}
|
|
|
|
|
|
if (isPlanLotteryAutoBet()) {
|
|
|
- let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
- let betRet = await tryDragonBet(preDrawIssue, planB, turnOneCost, maxBetAmount);
|
|
|
+ let probability = analyseBetProbability('B', pksPlanItemData, pksPlanListData);
|
|
|
+ if(probability >= 70){
|
|
|
+ let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
+ let betRet = await tryDragonBet(preDrawIssue, planB, turnOneCost, maxBetAmount);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
magicJS.notification.appendNotifyInfo(tipsMsg);
|
|
|
@@ -618,8 +671,11 @@ async function checkPlanABuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
}
|
|
|
|
|
|
if (isPlanLotteryAutoBet()) {
|
|
|
- let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
- let betRet = await tryDragonBet(preDrawIssue, planA, turnOneCost, maxBetAmount);
|
|
|
+ let probability = analyseBetProbability('A', pksPlanItemData, pksPlanListData);
|
|
|
+ if(probability >= 70){
|
|
|
+ let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
+ let betRet = await tryDragonBet(preDrawIssue, planA, turnOneCost, maxBetAmount);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
magicJS.notification.appendNotifyInfo(tipsMsg);
|