下限スキルマシミュレータ
合成でのコスト下限とスキルマの必要枚数を体感しよう!
HTML
<h2>アイギス 下限スキルマシミュレータ</h2>
<h3><a href='http://aigis.dougax.net/%E8%AC%8E%E3%81%AE%E6%95%B0%E5%AD%97' target='_blank'>謎の数字の解説</a></h3>
<div id='step0' class='step'>
<h4>育成するユニットを選択してください。</h4>
<div>
<img class='unit' data-skill='5' data-cost='3' src='http://i.gyazo.com/288a1bd43dd5f46ec44f5b86fa4e5fb4.png' title='一般ユニット代表 キャリーさん' />
<img class='unit' data-skill='10' data-cost='5' src='http://image01.seesaawiki.jp/a/s/aigis/79de9e3487b7d758.png' title='牧場ユニット代表 シャルロット' />
<img class='unit' data-skill='16' data-cost='5' src='http://i.gyazo.com/b6dfbdfe9c143e407d00c5b09628f167.png' title='特殊ユニット オデット' />
<div id='unit_info'></div>
</div>
</div>
<div id='step1' class='step' style='display:none'>
<h4>ユニットのスキル・コストの現在値を選択してください。</h4>
スキル:
<div id='skill'></div>
<hr />コスト:
<div id='cost'></div>
</div>
<div id='step2' class='step' style='display:none'>
<h4>合成方法を選択してください。</h4>
<div></div>
</div>
<div class='step'>
<h4 id='log_title'>ログ</h4>
<div id='log'></div>
</div>
CSS
.unit {
border : solid 2px white;
}
.unit.select {
border : solid 2px #09f;
}
.unit:hover {
border : solid 2px #09f;
}
div.step {
border : 1px solid black;
border-radius: 10px;
}
div.step div {
padding : 5px;
}
h4 {
color : #ffffff;
font-weight : bold;
background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #0015D1), color-stop(1, #EDCCD7));
background-image: -o-linear-gradient(right, #0015D1 0%, #EDCCD7 100%);
background-image: -moz-linear-gradient(right, #0015D1 0%, #EDCCD7 100%);
background-image: -webkit-linear-gradient(right, #0015D1 0%, #EDCCD7 100%);
background-image: -ms-linear-gradient(right, #0015D1 0%, #EDCCD7 100%);
background-image: linear-gradient(to right, #0015D1 0%, #EDCCD7 100%);
-webkit-border-top-left-radius : 10px;
-webkit-border-top-right-radius : 10px;
-moz-border-radius-topleft : 10px;
-moz-border-radius-topright : 10px;
padding : 10px;
margin : 0px 0px 10px;
}
#step2 div > * {
margin : auto;
vertical-align : middle;
}
#step2 div > button {
margin-right : 10px;
}
button {
width : 100px;
}
.icon {
width : 50px;
height : 50px;
}
p {
line-height:3px;
}
JavaScript
var step = 0;
var options = {
unit: null,
max_skill : 0,
max_cost : 0,
skill: 0,
cost: 0,
card : 0
};
var Skill = function(max,value,niji){
var nazo = 100;
if (value == 1) return 1;
if (value == max) return 0;
if (value == max - 1){
nazo = niji ? 25 : 5;
} else if (value < Math.ceil(max/2)){
nazo = niji ? 75 : 50;
} else {
nazo = niji ? 50 : 25;
}
return (Math.floor(Math.random()*100) < nazo) ? 1 : 0;
}
var Cost = function(max,value){
var nazo = 100;
if (value == 0) return 1;
if (value == max) return 0;
if (value == 1){
nazo = 50;
} else {
nazo = 25;
}
return (Math.floor(Math.random()*100) <= nazo) ? 1 : 0;
}
var UpDown = function(skill,cost){
if (skill){
Log("<span style='color:rgb(10, 229, 10)'>スキルレベルが" + skill + "上昇</span>");
}
if (cost){
Log("<span style='color:blue'>出撃コストが" + cost + "減少</span>");
if (options.cost == options.max_cost){
Log("<span style='color:#ff4500'>出撃コストが最低値になりました。</span>");
}
}
LogTitle("使用素材 " + options.card + "枚 スキル(" + options.skill + "/" + options.max_skill + ") コスト(" + (options.cost ? ("-" + options.cost) : "0") + "/-" + options.max_cost + ")");
}
var SameUnit = function(n){
options.card += n;
var skill = 0;
var cost = 0;
var fon = "";
for (var i=0;i<n;++i){
var s = Skill(options.max_skill,options.skill,false);
var c = Cost(options.max_cost,options.cost);
options.skill += s;
options.cost += c;
skill += s;
cost += c;
fon += "フォン…";
}
Log(fon);
UpDown(skill,cost);
}
var Rainbow = function(n){
options.card += n;
var skill = 0;
var fon = "";
for (var i=0;i<n;++i){
var s = Skill(options.max_skill,options.skill,true);
options.skill += s;
skill += s;
fon += "フォン…";
}
Log(fon);
UpDown(skill,0);
}
var Log =...