SOURCE

console 命令行工具 X clear

                    
>
console
<!DOCTYPE html>
<html>
<body>

<h3>坎公船长积分计算</h3>
<p><a href="#" onclick="document.getElementById('mzsm').style.display = 'block'">免责声明(使用前请阅读)</a></p>
<p id="mzsm" style="display:none;color:#666;border-style: groove"><a href="#" onclick="document.getElementById('mzsm').style.display = 'none'">关闭</a><br/>本工具只是周末(2021.5.15)抽空写的一些脚本,以计算《坎公骑冠剑》这款手游中船长活动的积分预期为目的。全都是很简单的代码,无网络请求,部分计算关键参数由使用者输入,计算逻辑使用的是网络中搜索到的公式。不保证与实际情况一致,如出现与实际情况不符而造成使用者的损失,计算器制作者不予任何补偿。使用以下功能即同意以上声明。
<br/><br/>积分计算逻辑明细如下:<br/><br/>
1.现有积分<br/>
2.体力能获得的积分(每10点体力100积分)<br/>
-1.自然恢复的体力(由计算器使用时距2021/05/27 14:00:00剩余时间(以下简称:剩余时间)计算,取10的倍数)<br/>
-2.体力包的体力(需要勾选,以剩余时间每天100点计算)<br/>
-3.每日两段时间登录游戏,邮箱赠送的体力(周一-周五100点,周末120点计算,需要使用者输入“到27号还有几个周六周日”)<br/>
-4.花费钻石购买的体力(需要使用者自行输入)<br/>
-5.其他剩余的体力(需要使用者自行输入)<br/>
3.活动裂隙获得的积分(积分、次数由使用者输入生成)<br/>
4.角斗场获得的积分(每次60积分,次数由使用者输入)<br/>
5.多人竞技获得的积分(每次60积分,次数由使用者输入生成)<br/>
6.觉醒裂痕获得的积分(每次60积分,次数由使用者输入生成)<br/>
最后积分由1-6所有积分相加。
<br/><br/>钻石计算逻辑明细如下:<br/><br/>
1.每日购买体力所花的钻石(第一次为100钻,每下次递增50钻,即100,150,200,250,300)<br/>
2.购买活动裂隙兑换券所花的钻石(每1次300钻)<br/>
3.购买觉醒裂隙兑换券所花的钻石(每3次300钻)<br/>
最后钻石由使用者输入参数与1-3计算所得。<br/>
如有疑问,可在论坛中留言,因为工作日需要工作,如无法及时回复,还请见谅。<br/>
后续如果有新活动能活动积分,会抽空添加逻辑。<br/>
论坛链接:
<a href="https://www.bigfun.cn/post/1006019/">https://www.bigfun.cn/post/1006019/</a>
<br/></p>
<p id="t"></p>
<p>现在有多少活动积分</p>
<input id="d0" value="0">
<p>到活动结束前还有几个周六周日</p>
<input id="d5" value="2">
<p>能三星的裂痕最高等级</p>
<select id="i1">
  <option value="0">50</option>
  <option value="1">60</option>
  <option value="2">70</option>
</select>
<p>附加的百分比(输入小数)如110%,则输入1.1</p>
<input id="d8" value="0.6">
<p>之后准备总共买几次“增加5次活动裂痕的挑战卷”?</p>
<input id="d11" value="0">
<p>之后准备总共买几次“商城钻石购买的50体力”?</p>
<input id="d13" value="0">(可选:每天购买体力次数<input id="i2" value="0">)
<p>现在剩余体力或其他任务中能未领取的体力(如购买了咖啡包,可在这里手动加上)</p>
<input id="d19" value="0">
<p>每天刷几次角斗场?</p>
<input id="i5" value="9">
<p>每天刷几次多人竞技?</p>
<input id="i6" value="5">
<p>每天刷几次觉醒裂痕?</p>
<input id="i7" value="3">
<p><input type="checkbox" id="i3" checked="true">今天的5次裂隙、角斗场、多人、觉醒已做完?</p>
<p><input type="checkbox" id="i4" >是否用¥购买了每天100体力的体力包?</p>
<p id="log" style="color:orange"></p>
<button onclick="demo()">点我计算</button>

<script>
var d1=new Date();
var d2=new Date("2021/06/24 14:00:00");
var d3=parseInt((d2-d1)/1000/60); //剩余分钟数
var diff=d2.getTime()-d1.getTime() 
var d4 = parseInt(diff/1000/3600/24)//剩余天数
document.getElementById("t").innerHTML = "【"+new Date()+"】活动剩余天数"+d4;
i2.onchange= function (){document.getElementById("d13").value = document.getElementById("i2").value*d4}
function demo() {
if(document.getElementById("i3").checked == false){ //今天的5次裂隙、角斗场、多人竞技是否做完?
   d4 = parseInt((d2.getTime()-d1.getTime())/1000/3600/24) +1
}else{
   d4 = parseInt((d2.getTime()-d1.getTime())/1000/3600/24)
}
var i4=0
if(document.getElementById("i4").checked == true){ //是否购买了每天100体力的体力包?
    i4=d4*100/10*100    //体力包能获得的积分
}
var d0=Number(document.getElementById("d0").value);//现在有多少分
var d5=Number(document.getElementById("d5").value) //其中有几个周六周末
var d6=d3/10+d4*110+d5*20 //剩余能获得到的体力(两次邮件领取,和每日任务10体力)
var d7=[400,420,440] //50,60,70等级三星的基础积分(选择)
var i1=Number(document.getElementById("i1").value) //选择60级
var d8=Number(document.getElementById("d8").value) //附加的百分比(输入)
var d9=d7[i1]*(1+d8)-100//刷实际刷活动裂隙多出的分数
var i5=Number(document.getElementById("i5").value) //每天刷几次角斗场?
var i6=Number(document.getElementById("i6").value) //每天刷几次多人竞技?
var i7=Number(document.getElementById("i7").value) //每天刷几次觉醒裂痕?
var d21=0 //觉醒裂痕兑换券需要的钻石
if((i7/3)>1){d21=300*parseInt((i7-1)/3)}
var d10=parseInt(d6/10)*100+d4*d9*5+d4*i5*60+d4*60*i6+d4*60*i7 //零钻全勤能获得的分数(角斗场我按照打9次,多人5次,觉醒3次算的)
var d11=Number(document.getElementById("d11").value) //准备买几次挑战卷
var d12=d11*d9*5 //买挑战卷后多出的积分
var d13=Number(document.getElementById("d13").value) //准备买几次体力
var d14=d13*50/10*100 //买体力后多出的积分
var d19=Number(document.getElementById("d19").value) //现在剩余体力或其他任务中能未领取的体力
console.log(document.getElementById("i3").checked)

var d20=parseInt(d19/10)*100 //多余体力能获得的积分
var d15=d0+d10+d12+d14+d20+i4 //总分数
var d16=0 //需要花费钻石数
var d17=parseInt(d13/d4)
var d18=d13%d4
switch(d17) {
     case 0:
        d22=d13*100
        break;
     case 1:
        d22=d13*100+d18*50
        break;
     case 2:
        d22=d13*100+d18*100+d4*50
        break;
     case 3:
        d22=d13*100+d18*150+d4*50+d4*100
        break;
     case 4:
        d22=d13*100+d18*200+d4*50+d4*100+d4*150
        break;
     case 5:
        console.log(d18 == 0,d17)
        if(d18 == 0){
            d22=d13*100+d4*200+d4*50+d4*100+d4*150
        }else{
            alert("没有那么多体力可以买");
        }
        break;
     default:
        alert("没有那么多体力可以买");
        break;
} 
d16 = d16+d22
if(d11>d4){
    alert("没有那么多天数来买兑换卷了");
}
d16 = d16+d11*300
d23 = d21*d4 //觉醒裂痕总共要花费的钻石
d16 = d16+d23
console.log("最后能获得积分",d15,"要花费钻石数",d16);
document.getElementById("log").innerHTML = "最后能获得积分:<br/>"+d15+"<br/>还要花费钻石数:<br/>"+d16;
document.getElementById("log").innerHTML+="<br/>钻石明细:其中活动挑战卷花费 "+d11*300+",购买体力花费 "+d22+",购买觉醒裂痕兑换券花费 每天"+d21+"共"+d23;
if(d18>0){
document.getElementById("log").innerHTML+="<br/><br/>前"+d18+"天每天购买体力"+(d17+1)+"次"
}
if(d17>0){
document.getElementById("log").innerHTML+="<br/>剩余"+(d4-d18)+"天,每天购买"+(d17)+"次体力,建议这样分配以花费最少钻石"
}

}

</script>

</body>
</html>