Simple JavaScript Game
      
      
         This example shows how a simple game can be written in JavaScript.
      
      
      
      
         tera-init.js
      
      
function findElements(className) { 
   var divs = document.getElementsByTagName("div");
   var tiles = new Array(0); 
   for (var i = 0; i < divs.length; i++) { 
      if (divs[i].className == className) 
         tiles.push(divs[i]); 
   } 
   return tiles; 
}
function newDiv(className) {
   var body = document.getElementById("defender");
   var div  = document.createElement("div");
   div.className = className;
   div.style.position = "absolute";
   body.appendChild(div);
   return div;
}
function init_game() {
   document.writeln("<span id=\"score\" style=\"font-size: 18pt\"></span> ");
   document.writeln("<span id=\"alienCount\" style=\"font-size: 18pt\"></span>");
   
   
   
   document.writeln("<div id=\"defender\" style=\"height: " + (gameHght+10) + "px; ");
   document.write("position: absolute; top: " + gameTop + "px; left: 50px; ");
   document.write("background-color: white; ");
   document.write("width: " + (12+gameWdth) + "px; border: solid\" >");
   
   
   
   for (var i = 0; i < numblks; i++) {
      document.writeln("<div class=\"land\" style=\"position: absolute; ");
      document.write("left: " + (2+i*blkWdth) +"px; background-color: green; ");
      document.write("width: " + blkWdth + "px\" >");
      document.writeln("</div>");
   }
   document.writeln("</div>");  
   land = findElements("land");
   
   
   
   ship = new spacecraft(newDiv("ship"));
   objs.push(ship);
   for (var i = 0; i < numalien; i++)
      objs.push(new alien(newDiv("alien")));
   for (var i = 0; i < nummis; i++) {
      var m = new missile(newDiv("missile"));
      mile.push(m);
      objs.push(m);
   }
   
   
   
   
   
   
   document.onkeydown = keyHandler;
   document.onkeyup   = keyCancel;
   timer = setInterval("f()", 100);  
}
      
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved