<html>
<head>
<title>シューティングゲーム</title>
<script language="JavaScript"><!--
//プレロード処理
main=new Image();
main.src="img/main.gif";
teki=new Image();
teki.src="img/teki.gif";
tama=new Image();
tama.src="img/tama.gif";
ttama=new Image();
ttama.src="img/ttama.gif";
ttama2=new Image();
ttama2.src="img/ttama2.gif";

//ゲームスタート処理
gameStartFlag=false;

//ゲームオーバー処理
gameOverFlag=false;


function gStart(){
	gameStartFlag=true;
	moveTeki();
	moveMain();
}
//ゲームのリトライ処理
function gRetry(){
	if(gameOverFlag==false)return;
	gameOverFlag=false;
	document.top.style.left=80;
	document.images["main"].src="img/main.gif";
	document.images["teki"].src="img/teki.gif";
	document.main.style.left=30;
	document.main.style.top=100;
	document.teki.style.left=260;
	document.teki.style.top=100;
	document.tama.style.top=-50;
	document.etama.style.top=-50;
	document.etama2.style.top=-50;
	mainX=20;	//mainの座標
	mainY=250;
	tekiX=0;	//敵の座標
	tekiY=0;
	tamaFlag=false;		//自機の玉発射
	enTamaFlag=false;	//trueなら発射、falseなら発射しない。
	hit=5;	//ヒット回数


}

//自機の移動
mainX=20;	//自機のX座標の最初の値
mainY=270;	//自機のY座標の最初の値
function moveMain(){
	if(gameStartFlag==false)return;
	if(gameOverFlag==true)return;
	document.top.style.left=-500;

	if(event.keyCode==37){	//左を押されたとき
		if(mainX==0){
			return;
		}
		mainX=mainX-4; //左へ移動
	}

	if(event.keyCode==39){	//右を押されたとき
		if(mainX>300){
			return;
		}
		mainX=mainX+4; //右へ移動
	}

	if(event.keyCode==38){	//上を押されたとき
		if(mainY<0){
			return;
		}
		mainY=mainY-4; //上へ移動
	}

	if(event.keyCode==40){	//下を押されたとき
		if(mainY>300){
			return;
		}
		mainY=mainY+4; //下へ移動
	}

	if(event.keyCode==17)startTama(); //玉の発射
	document.main.style.left=mainX;
	document.main.style.top=mainY;

}

//敵の移動
tekiX=0;	//敵のX座標
tekiY=0;
tekiDx=2;	//移動する値

function moveTeki(){
	if(gameStartFlag==false)return;
	if(gameOverFlag==true)return;
	tekiX=tekiX+tekiDx;
	if(tekiX>290){tekiDx=-2;tekiY=tekiY+5;}	//敵の座標が290を超えると-2にする。
	if(tekiX<0){tekiDx=2;tekiY=tekiY+5;}	//敵の座標が0未満になったら2にする。
	document.teki.style.left=tekiX;
	document.teki.style.top=tekiY;
	enTama();	//敵の玉発射
	moveEnTama();	//敵玉の移動
	enHit();	//敵の玉のヒットチェック
	enHit2();	//敵の玉2のヒットチェック
	moveTama();	//玉の移動
	mainHit();	//自機のヒットチェック
	setTimeout("moveTeki()",25);

}

//敵の玉発射
enTamaFlag=false;	//trueなら発射、falseなら発射しない。
enTamaX=0;
enTamaY=0;
enY=0;
enTama2X=0;
enTama2Y=0;
en2X=0;
en2Y=0;
function enTama(){	
	if(enTamaFlag==true)return;
	enTamaFlag=true;
	enTamaX=tekiX+13;
	enTamaY=tekiY+50;
	document.etama.style.left=enTamaX;
	document.etama.style.top=enTamaY;

	enTama2X=tekiX+43;
	enTama2Y=tekiY+50;
	document.etama2.style.left=enTama2X;
	document.etama2.style.top=enTama2Y;

}


//敵の玉を移動させる
function moveEnTama(){
	enTamaY=enTamaY+5;
//	enTamaX=enTamaX+5;
	document.etama.style.top=enTamaY;
//	document.etama.style.top=enTamaX;

	enTama2Y=enTama2Y+5;
	document.etama2.style.top=enTama2Y;
	if(enTamaY==350){
		enTamaFlag=false;
	}
}

//敵の玉のヒット判定
function enHit(){	
	if((mainX+40)<enTamaX+3)return; 	//自機X軸+幅が敵X座標よりも小さい
	if((enTamaX+3)<mainX)return;	//敵X座標+幅が自機X座標よりも小さい
	if((mainY+51)<enTamaY)return;	//自機Y座標+幅が敵Y座標よりも小さい
	if((enTamaY+3)<mainY)return;	//敵Y座標+幅が自機Y座標よりも小さい
	if(gameOverFlag==true)return;	//同時に2つの玉が当たった処理

	document.images["main"].src="img/bakuha.gif";
	alert("アボーン");
	gameOverFlag=true;	//ゲーム終了
	gameStartFlag=false;	//スタートフラグfalse
}

//敵の玉2のヒット判定
function enHit2(){
	if((mainX+40)<enTama2X+3)return; 	//自機X軸+幅が敵X座標よりも小さい
	if((enTama2X+3)<mainX)return;	//敵X座標+幅が自機X座標よりも小さい
	if((mainY+51)<enTama2Y)return;	//自機Y座標+幅が敵Y座標よりも小さい
	if((enTama2Y+3)<mainY)return;	//敵Y座標+幅が自機Y座標よりも小さい
	if(gameOverFlag==true)return;	//同時に2つの玉が当たった処理


	document.images["main"].src="img/bakuha.gif";
	alert("アボーン");
	gameOverFlag=true;	//ゲーム終了
	gameStartFlag=false;	//スタートフラグfalse

}


//玉の発射
tamaFlag=false;	//trueなら発射、falseなら発射しない。
tamaX=0;
tamaY=0;
function startTama(){
	if(tamaFlag==true)return; //発射されていたら処理を抜ける
	tamaFlag=true;
	tamaY=mainY-10;
	tamaX=mainX+23;
	
}

//玉を移動させる
function moveTama(){
	if(tamaFlag==false)return;
	tamaY=tamaY-5;
	document.tama.style.left=tamaX;
	document.tama.style.top=tamaY;
	if(tamaY<-40)tamaFlag=false;	//玉が見えなくなったら消す
	hitCheck();
}

//自機のヒット判定
function mainHit(){	
	if((mainX+40)<tekiX+10)return; 	//自機X軸+幅が敵X座標よりも小さい
	if((tekiX+31)<mainX)return;	//敵X座標+幅が自機X座標よりも小さい
	if((mainY+51)<tekiY)return;	//自機Y座標+幅が敵Y座標よりも小さい
	if((tekiY+32)<mainY)return;	//敵Y座標+幅が自機Y座標よりも小さい
	document.images["main"].src="img/bakuha.gif";
	alert("アボーン");
	gameOverFlag=true;	//ゲーム終了
	gameStartFlag=false;	//スタートフラグfalse


}

hit=5;	//ヒット回数
function hitCheck(){
	if((tamaX+6)<tekiX+10)return; 	//X軸+幅が敵X座標よりも小さい
	if((tekiX+31)<tamaX)return;	//敵X座標+幅がビームX座標よりも小さい
	if((tamaY+32)<tekiY)return;	//ビームY座標+幅が敵Y座標よりも小さい
	if((tekiY+32)<tamaY)return;	//敵Y座標+幅がビームY座標よりも小さい
	document.tama.style.left=-50;
	hit=hit-1;
	tamaFlag=false;	
	if(hit==0){
	document.images["teki"].src="img/bakuha.gif";
	alert("倒しました");
	gameOverFlag=true;	//ゲーム終了
	gameStartFlag=false;	//スタートフラグfalse

	}
}

//--></script>

</head>
<body background="img/bg.jpg" onKeydown="moveMain()" onLoad="moveTeki()">
<img src="img/main.gif" name="main" style="position:absolute;left:30;top:100;">
<img src="img/teki.gif" name="teki" style="position:absolute;left:260;top:100;">

<img src="img/top.gif" name="top" style="position:absolute;left:80;top:110;">

<img src="img/tama.gif" name="tama" style="position:absolute;left:0;top:-50;"><br><br>
<img src="img/ttama.gif" name="etama" style="position:absolute;left:0;top:-50;"><br><br>
<img src="img/ttama2.gif" name="etama2" style="position:absolute;left:0;top:-50;"><br><br>
<pre>
















<font color="white">
     <シューティングゲーム>
  矢印で自機の移動、ctrlで弾を発射します。
 5回敵に攻撃を当てれば勝ちです。ゲーム中に
 スタートを押すと動きが早くなるのは仕様です。
</font>
<form name="gform">          <input type="button" value="スタート" onClick="gStart()">  <input type="button" value="リトライ" onClick="gRetry()">

</form>
</pre>
</body>
</html>

inserted by FC2 system