JoeWars コード
どうも!LSSです!!
昨日公開したゲーム、
一応、コードも晒しておきます。
というだけの記事です^^;
コード
<style><!--
@media screen and (min-width:640px) {
#jw{
display: grid;
grid-template-columns: repeat(12,53px);
}
#jw div{font-size:53px;}
#jwe{font-size:53px;height:150px;}
}
@media screen and (max-width:639px){
#jw{
display: grid;
grid-template-columns: repeat(12,25px);
}
#jw div{font-size:25px;}
#jwe{font-size:25px;height:60px;}
}
#jw{background-color:black;background-image:linear-gradient(350deg,#000,#444,#000);color:red;font-weight:bold;padding:1em 0px;}
#jw a{color:red;}
#jwe{text-align:center;color:red;}
--></style>
<p> </p>
<div id="jw"> </div>
<div id="jwe"> </div>
<p>
<script>// <![CDATA[
var turn=0;
var nz=[];
var tg=[];
var tmt=500;
var atkf=false;
var kk=0;
jw_init();
jw_w();
function jw_init(){
for(i=0;i<6;i++){
nz[i]=9;
tg[i]=i;
}
turn=0;
kk=0.9;
atkf=false;
}
function jw_w(ht){
jw.innerHTML='';
for(i=0;i<6;i++){
if(i==turn){
jw.innerHTML+='<div>→</div>';
}else{
if(i==tg[turn] && atkf){
jw.innerHTML+='<div>*</div>';
}else{
jw.innerHTML+='<div></div>';
}
}
jw.innerHTML+='<div>'+((turn==0)&&(i>0)&&!atkf?'<a href="#" onclick="atk('+i+');return false;">'+nz[i]+'</a>':nz[i])+'</div>';
jwe.innerHTML='';
}
}
function atk(tg0){
if(nz[tg0]>0){
tg[turn]=tg0;
nz[tg[turn]]-=Math.floor(Math.random()+0.8);
tg[tg[turn]]=turn;
atkf=true;
jw_w(0);
if(nz[0]*(nz[1]+nz[2]+nz[3]+nz[4]+nz[5])>0){
tmr=setTimeout('atk2()',tmt);
}else{
tmr=setTimeout('fin()',tmt);
}
}
}
function atk2(){
atkf=false;
kk*=0.99;
do{turn++;}while(nz[turn]==0 && turn<=5);
if(turn>5){
turn=0;
}else{
if(Math.random()<kk){tg[turn]=turn;}
reselect();
tmr=setTimeout('atk(tg[turn])',tmt);
}
jw_w();
}
function fin(){
jwe.innerHTML=(nz[0]>0?'You win!':'You lose...')+'<br/><a href="#" onclick="jw_init();jw_w();return false;">Retry?</a>';
}
function reselect(){
while(nz[tg[turn]]<1 || tg[turn]==turn){
tg[turn]=Math.floor(Math.random()*6);
}
}
// ]]></script>
以上です。
つくづく自分で思うのは…かなり長い間、下書きに寝かせていたのですが、その間に自分の書き方もだいぶ変わったなぁ、とw
そしてだいぶ寝かせた後に更にコードを書き足しているので、少々不安なところもあります^^;
ちなみに昔作った時はBASIC言語で、10行で書いたプログラム(一行に複数のコマンドを詰め込んで、ですが)だったので、量的にはそう多くならないハズ。
であれば、再度イチから書き直すのも手かな?って気もしています。
ってなとこで、今回はこのへんで!
次回もまた、よろしくお願いします^^