game: 베팅 포인트 수령 기준 변경

- 각 단계마다 총 수령액의 1/2씩, 잔여금은 1등상에게로
- 1등이 없는 경우 2등이 1등상+2등상 배분하여 수령
- 4개 선택시 각각, 56.25%, 25%, 12.5%, 6.25%를 나눠가짐
- 정답자가 전혀 없으면 포인트 환불
This commit is contained in:
2022-04-13 02:33:58 +09:00
parent 6025e74004
commit 118d412623
2 changed files with 39 additions and 13 deletions
+10 -5
View File
@@ -256,18 +256,23 @@ function calcReward() {
}
let remainRewardAmount = bettingAmount.value;
let accumulatedRewardAmount = 0;
let givenRewardAmount = bettingAmount.value;
for (const matchPoint of range(selectCnt, 0, -1)) {
givenRewardAmount /= 2;
accumulatedRewardAmount += givenRewardAmount;
if (!subAmount.has(matchPoint)) {
continue;
}
const givenRewardAmount = remainRewardAmount / 2;
rewardAmount[matchPoint] = givenRewardAmount;
remainRewardAmount -= givenRewardAmount; // /2가 아니라 다른 값이 될 경우를 대비..
rewardAmount[matchPoint] = accumulatedRewardAmount;
remainRewardAmount -= accumulatedRewardAmount;
accumulatedRewardAmount = 0;
}
for (const matchPoint of range(1, selectCnt + 1)) {
//남은 상금은 '당첨자'에게 몰아준다.
//당첨자가 아무도 없다면, 0개 맞춘 그룹에게 돌아간다.
for (const matchPoint of range(selectCnt, -1, -1)) {
if (!subAmount.has(matchPoint)) {
continue;
}