|
@@ -1,5 +1,3 @@
|
|
|
-const GOLD_BASE = 10000;
|
|
|
|
|
-
|
|
|
|
|
const fixFloat = (number, x = 2) => {
|
|
const fixFloat = (number, x = 2) => {
|
|
|
return parseFloat(number.toFixed(x));
|
|
return parseFloat(number.toFixed(x));
|
|
|
}
|
|
}
|
|
@@ -121,8 +119,8 @@ const HandicapCalc = function (data) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const calcExternalHandicap = (data) => {
|
|
const calcExternalHandicap = (data) => {
|
|
|
- const { gold_side_jc: g, odds_side_a: a, odds_side_b: b, odds_side_m: c, jc_index: i, cross_type: t, win_target: w, pre_loss } = data;
|
|
|
|
|
- const l = pre_loss ?? 0;
|
|
|
|
|
|
|
+ const { gold_side_jc: g, odds_side_a: a, odds_side_b: b, odds_side_m: c, jc_index: i, cross_type: t, win_target: w, loss_out_1 } = data;
|
|
|
|
|
+ const l = loss_out_1 ?? 0;
|
|
|
const calc = new HandicapCalc({ i, g, a, b, c, w, l });
|
|
const calc = new HandicapCalc({ i, g, a, b, c, w, l });
|
|
|
const { x, y, z } = calc?.[t]() ?? {};
|
|
const { x, y, z } = calc?.[t]() ?? {};
|
|
|
return {
|
|
return {
|
|
@@ -143,49 +141,46 @@ const calcGoldsWithWinTarget = (data) => {
|
|
|
jc_index: jc_index_1
|
|
jc_index: jc_index_1
|
|
|
} = calcExternalHandicap({ ...sol1, gold_side_jc, win_target });
|
|
} = calcExternalHandicap({ ...sol1, gold_side_jc, win_target });
|
|
|
|
|
|
|
|
- let pre_loss = 0, jc_win_1 = 0;
|
|
|
|
|
|
|
+ let loss_out_1 = 0, win_jc_1 = 0;
|
|
|
switch (jc_index_1) {
|
|
switch (jc_index_1) {
|
|
|
case 0:
|
|
case 0:
|
|
|
- pre_loss = goldB1 + goldM1;
|
|
|
|
|
- jc_win_1 = GOLD_BASE * (sol1.odds_side_a + 1);
|
|
|
|
|
|
|
+ loss_out_1 = goldB1 + goldM1;
|
|
|
|
|
+ win_jc_1 = gold_side_jc * (sol1.odds_side_a + 1);
|
|
|
break;
|
|
break;
|
|
|
case 1:
|
|
case 1:
|
|
|
- pre_loss = goldA1 + goldM1;
|
|
|
|
|
- jc_win_1 = GOLD_BASE * (sol1.odds_side_b + 1);
|
|
|
|
|
|
|
+ loss_out_1 = goldA1 + goldM1;
|
|
|
|
|
+ win_jc_1 = gold_side_jc * (sol1.odds_side_b + 1);
|
|
|
break;
|
|
break;
|
|
|
case 2:
|
|
case 2:
|
|
|
- pre_loss = goldA1 + goldB1;
|
|
|
|
|
- jc_win_1 = GOLD_BASE * (sol1.odds_side_m + 1)
|
|
|
|
|
|
|
+ loss_out_1 = goldA1 + goldB1;
|
|
|
|
|
+ win_jc_1 = gold_side_jc * (sol1.odds_side_m + 1)
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- let {
|
|
|
|
|
|
|
+ const {
|
|
|
gold_side_a: goldA2,
|
|
gold_side_a: goldA2,
|
|
|
gold_side_b: goldB2,
|
|
gold_side_b: goldB2,
|
|
|
gold_side_m: goldM2,
|
|
gold_side_m: goldM2,
|
|
|
jc_index: jc_index_2
|
|
jc_index: jc_index_2
|
|
|
- } = calcExternalHandicap({ ...sol2, gold_side_jc, win_target, pre_loss });
|
|
|
|
|
|
|
+ } = calcExternalHandicap({ ...sol2, gold_side_jc, win_target, loss_out_1 });
|
|
|
|
|
|
|
|
- let jc_odds_2 = 0, win_target_2 = 0;
|
|
|
|
|
|
|
+ let loss_out_2 = 0, win_jc_2 = 0;
|
|
|
switch (jc_index_2) {
|
|
switch (jc_index_2) {
|
|
|
case 0:
|
|
case 0:
|
|
|
- goldA2 = jc_win_1;
|
|
|
|
|
- jc_odds_2 = sol2.odds_side_a + 1;
|
|
|
|
|
- win_target_2 = goldA2 * jc_odds_2 - goldB2 - goldM2;
|
|
|
|
|
|
|
+ loss_out_2 = gold_side_jc +goldB2 + goldM2 + loss_out_1;
|
|
|
|
|
+ win_jc_2 = win_jc_1 * (sol2.odds_side_a + 1);
|
|
|
break;
|
|
break;
|
|
|
case 1:
|
|
case 1:
|
|
|
- goldB2 = jc_win_1;
|
|
|
|
|
- jc_odds_2 = sol2.odds_side_b + 1;
|
|
|
|
|
- win_target_2 = goldB2 * jc_odds_2 - goldA2 - goldM2;
|
|
|
|
|
|
|
+ loss_out_2 = gold_side_jc + goldA2 + goldM2 + loss_out_1;
|
|
|
|
|
+ win_jc_2 = win_jc_1 * (sol2.odds_side_b + 1);
|
|
|
break;
|
|
break;
|
|
|
case 2:
|
|
case 2:
|
|
|
- goldM2 = jc_win_1;
|
|
|
|
|
- jc_odds_2 = sol2.odds_side_m + 1;
|
|
|
|
|
- win_target_2 = goldM2 * jc_odds_2 - goldA2 - goldB2;
|
|
|
|
|
|
|
+ loss_out_2 = gold_side_jc + goldA2 + goldB2 + loss_out_1;
|
|
|
|
|
+ win_jc_2 = win_jc_1 * (sol2.odds_side_m + 1);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- const win_jc = fixFloat(win_target_2 - GOLD_BASE - goldB2 - goldM2);
|
|
|
|
|
|
|
+ const win_jc = fixFloat(win_jc_2 - loss_out_2);
|
|
|
|
|
|
|
|
return {
|
|
return {
|
|
|
goldA1,
|
|
goldA1,
|
|
@@ -197,7 +192,7 @@ const calcGoldsWithWinTarget = (data) => {
|
|
|
win_jc,
|
|
win_jc,
|
|
|
jc_index_1,
|
|
jc_index_1,
|
|
|
jc_index_2,
|
|
jc_index_2,
|
|
|
- jc_base: GOLD_BASE,
|
|
|
|
|
|
|
+ jc_base: gold_side_jc,
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|