「于世界交点之处,逢似曾相识之人」

本WIKI目前为框架搭建阶段,一切内容以游戏正式上线后为准。本wiki目前不支持自由编辑,如果有兴趣参与wiki内容编辑,请加入WIKI建设群904200987(游戏交流勿加会被踢)
感谢Hyacinth对本wiki提供的数据支持
编辑帮助BWIKI反馈

本WIKI目前为框架搭建阶段,一切内容以游戏正式上线后为准。欢迎加入。
全站通知:

Widget:工具:攒抽计算器

来自白荆回廊Wiki
跳到导航 跳到搜索

<!DOCTYPE html> <html lang="zh">

<body>

       <form autocomplete="off" id="score" style="display: inline-table;">
           联结等级 <input type="number" name="lv" />
           自定日期 <input type="date" name="date" />
日常 周常 训练场 天隙 月卡 联结 小猫卡 累签28日
120/日 500/周 750/周 960/2周 180/日 根据等级 5+5/月 500/月
                       <input type="checkbox" name="yueka" />30
<input type="checkbox" name="dayueka" />68
   </form>
   
<button onclick="compute([2024,03,07])">【醒太平】结束</button> <button onclick="compute([2024,04,15])">【恶声派对】结束</button> <button onclick="compute()">自定日期</button>

</body>

<head>

   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <style>
       .zcjsq {
           background-color: rgb(225, 229, 235);
           text-align: center;
           font-size: 1em;
       }
       .zcjsq th {
           font-weight: 2;
       }
       .zcjsq input[type="checkbox"] {
           min-width: 1.2em;
           text-align: center;
           cursor: pointer;
       }
       .zcjsq button {
           width: max-content;
           height: 30px;
           min-width: 15%;
           text-align: center;
           /*margin-bottom: 10px;*/
           /*margin-right: 10px;*/
           background-color: rgb(59, 137, 228);
           color: white;
           border: none;
           cursor: pointer;
           border-radius: 10px;
       }
       .zcjsq b {
           font-size: 1.2em;
       }
   </style>
   <script>
       var daytime = 24 * 3600 * 1000
       var dayueka = [[50, 150], [1, 2], [0, -1], [100, 300], [50, 150], [-1, 0], [0, -1], [100, 300], [100, 300], [1, 2]]
       function compute(date) {
           var mdl = { yueka: 0, dayueka: 0, lv: 0, date: "" }
           let form = new FormData(document.getElementById('score'));
           form.forEach((value, key) => mdl[key] = value)
           date = date ? date : mdl.date.split("-")
           var target = new Date(date[0], Number(date[1]) - 1, date[2])
           target.setSeconds(24 * 3600 - 1)
           var now = new Date()
           if (now.getHours() < 4) {
               now.setSeconds(now.getSeconds() - 24 * 3600)
           }
           var diff = [
               getMonthDifference(target, now),
               getWeekDifference(target, now),
               Math.floor((target - now) / daytime)
           ]
           // 月奖励
           var zuan = (now.getDate() < 28 ? 500 : 0) + diff[0] * 500 - (target.getDate() >= 28 ? 0 : 500)
           var card = diff[0] > 0 ? [diff[0] * 5, diff[0] * 5] : [0, 0]
           // 周奖励
           zuan += Math.floor(diff[1] / 7) * (500 + 750)
           zuan += Math.floor(diff[1] / 14) * 960
           // 日奖励
           zuan += diff[2] * 120
           if (mdl.yueka) {
               zuan += diff[2] * 180
           }
           // 大月卡
           for (let i = Math.floor((mdl.lv ? mdl.lv : 0) / 5); i < dayueka.length; i++) {
             if(dayueka[i][0]>=50){
               zuan += dayueka[i][0] 
             } else {
               card[dayueka[i][0]>0?0:1]+=Math.abs(dayueka[i][0])
             }
               if (mdl.dayueka) 
             if(dayueka[i][1]>=50){
               zuan += dayueka[i][1]
             } else {
               card[dayueka[i][1]>0?0:1]+=Math.abs(dayueka[i][1])
             }
           }

document.getElementById('computeResult').innerHTML = "

合计:" + diff[2] + "天" + Math.floor(diff[1] / 7) + "周" + zuan + '(约' + Math.floor(zuan / 300) + '抽)

' + '

同调卡' + card[0] + '烙痕卡' + card[1] + '

';

       };
       function getMonthDifference(date2, date1) {
           return 12 * (date2.getFullYear() - date1.getFullYear()) + date2.getMonth() - date1.getMonth();
       }
       function getWeekDifference(date2, date1) {
           let gap = 7 - (date2.getDay() == 0 ? 7 : date2.getDay())
           console.log((date2 - date1) / daytime, date2.getDay(), gap)
           return (date2 - date1) / daytime + gap;
       }
   </script>

</head>