File size: 3.21Kb
<html>
<head>
<title>Звёздные войны - Scripts - JavaScript - Звёздные войны</title>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<Style>
A:Link{ Color: #000000; Text-decoration: underline}
A:Visited{ Color: #000000; Text-decoration: underline}
A:Hover{ Color: #000000; Text-decoration: none}
td, body {font-family: verdana, arial, helvetica; font-size:11px;}
</Style>
<!-- HEAD START HERE -->
<!-- HEAD END HERE -->
</head>
<body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0">
<center>
<!-- BODY START HERE -->
<P align=center><!-- Эта программа была сделана Hiroshi Okada.-->
<SCRIPT language=JavaScript>
// ---- Make array
function MakeArray( n){
this.length = n;
for (var i = 1; i <= n; i++) {
this[i] = 0
}
return this
}
// ----- poor man's random number
var d0 = new Date();
var r0 = d0.getSeconds();
function poor_rand(){
d1 = new Date();
r0 = (r0 * r0 + r0 + d1.getSeconds()) % 3721 ;
return r0 % width_n;
}
// ---- Parameters of game
var height_n = 8;
var width_n =5;
// ---- state of game
var enemy = new MakeArray( width_n); // enemy positions
var wtime; // wait time
var score; // points
var gameover; // in case of gameover set to true
// ----- Make the battlefield.
document.write( "<FORM NAME='fm1'>");
document.write( "<INPUT TYPE='text' NAME='message' SIZE=20>");
document.write( "</FORM>");
document.write( "<FORM NAME='fm2'><TABLE>");
for( var i=0; i<height_n; i++){
document.write( "<TR>");
for( var j=0;j<width_n; j++){
document.write( "<TD><CENTER><INPUT TYPE='radio'></CENTER></TD>");
}
document.write( "</TR>");
}
document.write( "<TR>");
for( var j=0;j<width_n; j++){
document.write( "<TD><INPUT TYPE='button' VALUE='-x-' onClick='fire("
+ j + ")'></TD>");
}
document.write( "</TR>");
document.write( "</TABLE>");
document.write( "<INPUT TYPE='button' VALUE='СТАРТ' onClick='game_start()'>");
document.write( "</FORM>");
// ----- game main timer event
// ----- enemy come one step
function come(){
var n = poor_rand();
document.fm2.elements[ width_n * enemy[n+1] + n].checked = true;
enemy[n+1]++;
if( enemy[n+1] < height_n){
setTimeout("come()", wtime);
}else{
gameover = true;
document.fm1.message.value = "ИГРА ОКОНЧЕНА: " + score ;
}
}
// ----- Fire the n th beam
function fire( n){
if( gameover ) return;
for( var i=0; i<enemy[n+1]; i++){ // clear enemy
document.fm2.elements[ width_n * i + n].checked = false;
}
score += enemy[ n+1];
document.fm1.message.value = "ОЧКИ: " + score;
enemy[ n+1] = 0;
if( wtime > 100){ wtime -= 10};
}
// ---- initialize & start game
function game_start(){
for( var n=0; n<width_n; n++){
for( var i=0; i<enemy[n+1]; i++){
document.fm2.elements[ width_n * i + n].checked = false;
}
enemy[n+1] = 0;
}
wtime = 400;
score = 0;
gameover = false;
document.fm1.message.value = "ОЧКИ: " + score;
setTimeout("come()", wtime);
}
// -->
</SCRIPT>
<!-- BODY END HERE -->
</body>
</html>