Simple JavaScript Game
      
      
         This example shows how a simple game can be written in JavaScript.
      
      
      
      
         tera-ship.js
      
      
var key      = 
0;      
var keyup    = 
1;      
var keydown  = 
2;      
var keythrst = 
4;
function spacecraft(e) {
   
function P_motionX(v) {
      
if ((key & keythrst) && (Math.abs(
this.speed) < maxSpeed))
         
this.speed += (
2 * 
this.dir);
      
return v + 
this.speed;
   }
   
function P_motionY(v) {
      
      
      
      
      
if (key & keyup)
         v -= 
5;
      
else if (key & keydown)
         v += 
5;
      
return ++v;
   }
   
this.motionX  = P_motionX;
   
this.motionY  = P_motionY;
   
this.alt      = 
100;
   
this.fuel     = -
1;         
   
this.xpos     = gameWdth/
2;
   
this.retain   = true;
   
this.visible  = true;
   
this.htmlElem = e || 
null;
   
this.type     = 
"ship";
   
this.setImage(shipF);
}
spacecraft.prototype = new actor();
function keyHandler(event) { 
   
if (!event) event = window.event;
   
var ret = false;
   
switch (event.keyCode) {
      
case 13:         
         
         
         
         
with (mile[nxtmis]) {
            dir     = ship.dir;
            alt     = ship.alt;
            xpos    = ship.xpos + (
2 * ship.width * dir);
            speed   = ship.speed + 
50 * dir;
            fuel    = 
10;
            crashed = false;
            visible = true;
            
if (dir == 
1)
               setImage(missR);
            
else
               setImage(missL);
         }
         nxtmis = ++nxtmis % mile.length;
         
break;
      
case 32:         
         ship.dir *= -
1;
         
break;
      
case 38:         
      
case 65:         
         key |= keyup;
         
break;
      
case 40:         
      
case 90:         
         key |= keydown;
         
break;
      
case 222:
         key |= keythrst;
         
break;
      
default: 
         ret = true;   
   } 
   
return ret;
}
 Key codes can be found at:
 
http://www.andrew-scott.co.uk/tables/keys.shtml
function keyCancel(event) { 
   
if (!event) event = window.event;
   
var ret = false;
   
switch (event.keyCode) {
      
case 38:           
      
case 65:           
         key ^= keyup;   
         
break;
      
case 40:           
      
case 90:           
         key ^= keydown; 
         
break;
      
case 222:
         key ^= keythrst;
         
break;
      
default:
         ret = true;
   }
   
return ret;
}
      
 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved