유산 포인트 시스템, 추가 기수 대비 #187

Merged
Hide_D merged 29 commits from Inheritance into devel 2021-08-11 21:57:53 +09:00
5 changed files with 83 additions and 22 deletions
Showing only changes of commit ea58e1e5c5 - Show all commits

No files matched your search

+19 -10
View File
@@ -16,6 +16,8 @@ $me = General::createGeneralObjFromDB($generalID);
$pointHelpText = [
'sum' => '다음 플레이에서 사용할 수 있는 총 포인트입니다.',
'new' => '이번 플레이에서 얻은 총 포인트입니다.',
'previous' => '이전에 물려받은 포인트입니다.',
'lived_month' => '살아남은 기간입니다. (1개월 단위)',
'max_belong' => '가장 오래 임관했던 국가의 연도입니다.',
@@ -28,7 +30,10 @@ $pointHelpText = [
'tournament' => '토너먼트 입상 포인트입니다.',
'betting' => '성공적인 베팅을 했습니다. <br>수익율과 베팅 성공 횟수를 따릅니다.',
];
$items = [];
foreach(array_keys(General::INHERITANCE_KEY) as $key){
$items[$key] = $me->getInheritancePoint($key)??0;
}
?>
<!DOCTYPE html>
<html>
@@ -48,6 +53,10 @@ $pointHelpText = [
<?= WebUtil::printJS('../e_lib/bootstrap.bundle.min.js') ?>
<?= WebUtil::printJS('js/common.js') ?>
<?= WebUtil::printJS('js/inheritPoint.js') ?>
<script>
var items = <?=Json::encode($items)?>;
var helpText = <?=Json::encode($pointHelpText)?>;
</script>
</head>
<body onload="formStart()">
@@ -59,16 +68,16 @@ $pointHelpText = [
</table>
<div id="container" class="tb_layout bg0" style="width:1000px;margin:auto;border:solid 1px #888888;">
<div id='inheritance_list'>
<div id="inherit_total" class='inherit_item'>
<div id="inherit_sum" class='inherit_item'>
<div class="row">
<label id="inherit_sum_head" class='inherit_head col-sm-6 col-form-label'>총 포인트</label>
<div class="col-sm-6">
<input type="text" class="form-control inherit_value" readonly id="inherit_<?= $key ?>_value" value="">
<input type="text" class="form-control inherit_value" readonly id="inherit_sum_value" value="">
</div>
</div>
<div style="text-align:right">
<small class="form-text text-muted"><?= $pointHelpText[$key] ?? "" ?></small>
<small class="form-text text-muted"></small>
</div>
</div>
@@ -76,16 +85,16 @@ $pointHelpText = [
<div class="row">
<label id="inherit_sum_head" class='inherit_head col-sm-6 col-form-label'>기존 포인트</label>
<div class="col-sm-6">
<input type="text" class="form-control inherit_value" readonly id="inherit_previous_value" value="<?= number_format(Util::toInt($me->getInheritancePoint('previous') ?? 0)) ?>">
<input type="text" class="form-control inherit_value" readonly id="inherit_previous_value" value="">
</div>
</div>
<div style="text-align:right">
<small class="form-text text-muted"><?= $pointHelpText[$key] ?? "" ?></small>
<small class="form-text text-muted"></small>
</div>
</div>
<div id="inherit_<?= $key ?>" class='inherit_item'>
<div id="inherit_new" class='inherit_item'>
<div class="row">
<label id="inherit_sum_head" class='inherit_head col-sm-6 col-form-label'>신규 포인트</label>
<div class="col-sm-6">
@@ -94,7 +103,7 @@ $pointHelpText = [
</div>
<div style="text-align:right">
<small class="form-text text-muted"><?= $pointHelpText[$key] ?? "" ?></small>
<small class="form-text text-muted"></small>
</div>
</div>
<div style="width:100%; padding:0 10px"><hr style="border-top:1px solid #888888;"></div>
@@ -106,12 +115,12 @@ $pointHelpText = [
<div class="row">
<label id="inherit_<?= $key ?>_head" class='inherit_head col-sm-6 col-form-label'><?= $name ?></label>
<div class="col-sm-6">
<input type="text" class="form-control inherit_value" readonly id="inherit_<?= $key ?>_value" value="<?= number_format(Util::toInt($me->getInheritancePoint($key) ?? 0)) ?>">
<input type="text" class="form-control inherit_value" readonly id="inherit_<?= $key ?>_value" value="">
</div>
</div>
<div style="text-align:right">
<small class="form-text text-muted"><?= $pointHelpText[$key] ?? "" ?></small>
<small class="form-text text-muted"></small>
</div>
</div>
<?php endforeach; ?>
+1 -1
View File
@@ -1,2 +1,2 @@
(()=>{var t={705:(t,r,e)=>{var n=e(639).Symbol;t.exports=n},239:(t,r,e)=>{var n=e(705),o=e(607),i=e(333),a=n?n.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?o(t):i(t)}},877:t=>{var r=Math.floor,e=Math.random;t.exports=function(t,n){return t+r(e()*(n-t+1))}},98:t=>{var r=Math.ceil,e=Math.max;t.exports=function(t,n,o,i){for(var a=-1,u=e(r((n-t)/(o||1)),0),f=Array(u);u--;)f[i?u:++a]=t,t+=o;return f}},561:(t,r,e)=>{var n=e(990),o=/^\s+/;t.exports=function(t){return t?t.slice(0,n(t)+1).replace(o,""):t}},445:(t,r,e)=>{var n=e(98),o=e(612),i=e(601);t.exports=function(t){return function(r,e,a){return a&&"number"!=typeof a&&o(r,e,a)&&(e=a=void 0),r=i(r),void 0===e?(e=r,r=0):e=i(e),a=void 0===a?r<e?1:-1:i(a),n(r,e,a,t)}}},957:(t,r,e)=>{var n="object"==typeof e.g&&e.g&&e.g.Object===Object&&e.g;t.exports=n},607:(t,r,e)=>{var n=e(705),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=n?n.toStringTag:void 0;t.exports=function(t){var r=i.call(t,u),e=t[u];try{t[u]=void 0;var n=!0}catch(t){}var o=a.call(t);return n&&(r?t[u]=e:delete t[u]),o}},776:t=>{var r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&r.test(t))&&t>-1&&t%1==0&&t<e}},612:(t,r,e)=>{var n=e(813),o=e(240),i=e(776),a=e(218);t.exports=function(t,r,e){if(!a(e))return!1;var u=typeof r;return!!("number"==u?o(e)&&i(r,e.length):"string"==u&&r in e)&&n(e[r],t)}},333:t=>{var r=ObjecLine truncated
(()=>{var t={762:t=>{t.exports=function(t,e){for(var r,n=-1,o=t.length;++n<o;){var u=e(t[n]);void 0!==u&&(r=void 0===r?u:r+u)}return r}},557:t=>{t.exports=function(t){return t}},297:(t,e,r)=>{var n=r(762),o=r(557);t.exports=function(t){return t&&t.length?n(t,o):0}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return t[n](u,u.exports,r),u.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=r(297),e=r.n(t);function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function u(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}function c(t){var e=p();return function(){var r,n=v(t);if(e){var o=v(this).constructor;r=Reflect.construct(n,arguments,o)}elsLine truncated
//# sourceMappingURL=inheritPoint.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"inheritPoint.js","mappings":"2BAAA,IAGIA,EAHO,EAAQ,KAGDA,OAElBC,EAAOC,QAAUF,G,cCLjB,IAAIA,EAAS,EAAQ,KACjBG,EAAY,EAAQ,KACpBC,EAAiB,EAAQ,KAOzBC,EAAiBL,EAASA,EAAOM,iBAAcC,EAkBnDN,EAAOC,QATP,SAAoBM,GAClB,OAAa,MAATA,OACeD,IAAVC,EAdQ,qBADL,gBAiBJH,GAAkBA,KAAkBI,OAAOD,GAC/CL,EAAUK,GACVJ,EAAeI,K,QCvBrB,IAAIE,EAAcC,KAAKC,MACnBC,EAAeF,KAAKG,OAexBb,EAAOC,QAJP,SAAoBa,EAAOC,GACzB,OAAOD,EAAQL,EAAYG,KAAkBG,EAAQD,EAAQ,M,OCb/D,IAAIE,EAAaN,KAAKO,KAClBC,EAAYR,KAAKS,IAyBrBnB,EAAOC,QAZP,SAAmBmB,EAAOC,EAAKC,EAAMC,GAKnC,IAJA,IAAIC,GAAS,EACTC,EAASP,EAAUF,GAAYK,EAAMD,IAAUE,GAAQ,IAAK,GAC5DI,EAASC,MAAMF,GAEZA,KACLC,EAAOH,EAAYE,IAAWD,GAASJ,EACvCA,GAASE,EAEX,OAAOI,I,cCxBT,IAAIE,EAAkB,EAAQ,KAG1BC,EAAc,OAelB7B,EAAOC,QANP,SAAkB6B,GAChB,OAAOA,EACHA,EAAOC,MAAM,EAAGH,EAAgBE,GAAU,GAAGE,QAAQH,EAAa,IAClEC,I,cCfN,IAAIG,EAAY,EAAQ,IACpBC,EAAiB,EAAQ,KACzBC,EAAW,EAAQ,KA2BvBnC,EAAOC,QAlBP,SAAqBsB,GACnB,OAAO,SAASH,EAAOC,EAAKC,GAa1B,OAZIA,GAAuB,iBAARA,GAAoBY,EAAed,EAAOC,EAAKC,KAChED,EAAMC,OAAOhB,GAGfc,EAAQe,EAASf,QACLd,IAARe,GACFA,EAAMD,EACNA,EAAQ,GAERC,EAAMc,EAASd,GAEjBC,OAAgBhB,IAATgB,EAAsBF,EAAQC,EAAM,GAAK,EAAKc,EAASb,GACvDW,EAAUb,EAAOC,EAAKC,EAAMC,M,cCxBvC,IAAIa,EAA8B,iBAAV,EAAAC,GAAsB,EAAAA,GAAU,EAAAA,EAAO7B,SAAWA,QAAU,EAAA6B,EAEpFrC,EAAOC,QAAUmC,G,cCHjB,IAAIrC,EAAS,EAAQ,KAGjBuC,EAAc9B,OAAO+B,UAGrBC,EAAiBF,EAAYE,eAO7BC,EAAuBH,EAAYI,SAGnCtC,EAAiBL,EAASA,EAAOM,iBAAcC,EA6BnDN,EAAOC,QApBP,SAAmBM,GACjB,IAAIoC,EAAQH,EAAeI,KAAKrC,EAAOH,GACnCyC,EAAMtC,EAAMH,GAEhB,IACEG,EAAMH,QAAkBE,EACxB,IAAIwC,GAAW,EALine truncated
{"version":3,"file":"inheritPoint.js","mappings":"qBAuBAA,EAAOC,QAdP,SAAiBC,EAAOC,GAKtB,IAJA,IAAIC,EACAC,GAAS,EACTC,EAASJ,EAAMI,SAEVD,EAAQC,GAAQ,CACvB,IAAIC,EAAUJ,EAASD,EAAMG,SACbG,IAAZD,IACFH,OAAoBI,IAAXJ,EAAuBG,EAAWH,EAASG,GAGxD,OAAOH,I,QCATJ,EAAOC,QAJP,SAAkBQ,GAChB,OAAOA,I,cCjBT,IAAIC,EAAU,EAAQ,KAClBC,EAAW,EAAQ,KAsBvBX,EAAOC,QANP,SAAaC,GACX,OAAQA,GAASA,EAAMI,OACnBI,EAAQR,EAAOS,GACf,KCnBFC,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBN,IAAjBO,EACH,OAAOA,EAAad,QAGrB,IAAID,EAASY,EAAyBE,GAAY,CAGjDb,QAAS,IAOV,OAHAe,EAAoBF,GAAUd,EAAQA,EAAOC,QAASY,GAG/Cb,EAAOC,QCpBfY,EAAoBI,EAAKjB,IACxB,IAAIkB,EAASlB,GAAUA,EAAOmB,WAC7B,IAAOnB,EAAiB,QACxB,IAAM,EAEP,OADAa,EAAoBO,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLRL,EAAoBO,EAAI,CAACnB,EAASqB,KACjC,IAAI,IAAIC,KAAOD,EACXT,EAAoBW,EAAEF,EAAYC,KAASV,EAAoBW,EAAEvB,EAASsB,IAC5EE,OAAOC,eAAezB,EAASsB,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EV,EAAoBW,EAAI,CAACK,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,G,o2ECG3E,IAeMI,EAAb,yLACkB,mBADlB,YAfA,uB,IAAA,OAEI,aAAyC,MAAtBC,EAAsB,uDAAJ,GAAI,qBACrC,cAAMA,IAD+B,OAD3B,gBAC2B,EAAtBA,QAAAA,EAAsB,EAF7C,O,EAAA,G,EAAA,uBAKI,WACI,OAAIC,KAAKD,QACEC,KAAKC,KAAO,KAAOD,KAAKD,QAGxBC,KAAKC,U,iBAVxB,KAAkCC,SAmB3B,SAASC,EAAUnC,GACtB,GAAIA,MAAAA,EACA,MAAM,IAAI8B,EAEd,OAAO9B,E,87BCWXoC,OAAOC,UAzBP,WAEI,IAAMC,EAAOH,EAAOI,SAASC,cAAc,uBACrCC,EAAON,EAAOI,SAASC,cAAc,4BACrCE,EAAOP,EAAOI,SAASC,cAAc,uBAErCG,EAAWC,KAAKC,MAAM,IAAIxB,OAAOyB,OAAOV,OAAOW,SAC/CC,EAAWJ,KAAKC,MAAMT,OAAOW,MAAP,UACtBE,EAAcN,EAAWK,EAE/BV,EAAKjC,MAAQsC,EAASOLine truncated
+27 -10
View File
@@ -1,21 +1,38 @@
import {random, range} from "lodash"
import { sum } from "lodash";
import { unwrap } from "./util";
declare global {
interface Window { formStart: any; }
interface Window {
formStart: ()=>void;
items: {[name: string]:number};
helpText: {[name: string]:string};
}
}
export {}
function formStart() {
console.log(window.pathConfig.root);
const a = 10;
const b:number[] = [];
for(const v of range(10)){
b.push(random()*v);
const dSum = unwrap(document.querySelector('#inherit_sum_value')) as HTMLInputElement ;
const dOld = unwrap(document.querySelector('#inherit_previous_value')) as HTMLInputElement;
const dNew = unwrap(document.querySelector('#inherit_new_value')) as HTMLInputElement;
const sumPoint = Math.floor(sum(Object.values(window.items)));
const oldPoint = Math.floor(window.items['previous']);
const sumNewPoint = sumPoint - oldPoint;
dSum.value = sumPoint.toLocaleString();
dOld.value = oldPoint.toLocaleString();
dNew.value = sumNewPoint.toLocaleString();
for(const [key, val] of Object.entries(window.items)){
const dItem = unwrap(document.querySelector(`#inherit_${key}_value`)) as HTMLInputElement ;
dItem.value = Math.floor(val).toLocaleString();
}
for(const [key, text] of Object.entries(window.helpText)){
const dText = unwrap(document.querySelector(`#inherit_${key} small.form-text`)) as HTMLElement;
dText.innerHTML = text;
}
console.log(a + 10);
console.log(b);
}
window.formStart = formStart;
+35
View File
@@ -0,0 +1,35 @@
type ErrType<T> = { new(msg?: string): T }
type Nullable<T> = T | null | undefined
export class RuntimeError extends Error {
public name = 'RuntimeError';
constructor(public message: string = '') {
super(message);
}
toString(): string {
if (this.message) {
return this.name + ': ' + this.message;
}
else {
return this.name;
}
}
}
export class NotNullExpected extends RuntimeError {
public name = 'NotNullExpected';
}
export function unwrap<T>(result: Nullable<T>): T {
if (result === null || result === undefined) {
throw new NotNullExpected();
}
return result;
}
export function unwrap_err<T, ErrT extends Error>(result: Nullable<T>, errType: ErrType<ErrT>, errMsg?: string): T {
if (result === null || result === undefined) {
throw new errType(errMsg);
}
return result;
}