HTML5 Canvas [161]
//ConsoleLog.log("update player missile" + playerMissileCtr)
tempPlayerMissile = playerMissiles[playerMissileCtr];
tempPlayerMissile.x += tempPlayerMissile.dx;
tempPlayerMissile.y += tempPlayerMissile.dy;
if (tempPlayerMissile.x > xMax) {
tempPlayerMissile.x =- tempPlayerMissile.width;
}else if (tempPlayerMissile.x<-tempPlayerMissile.width){
tempPlayerMissile.x = xMax;
}
if (tempPlayerMissile.y > yMax) {
tempPlayerMissile.y =- tempPlayerMissile.height;
}else if (tempPlayerMissile.y<-tempPlayerMissile.height){
tempPlayerMissile.y = yMax;
}
tempPlayerMissile.lifeCtr++;
if (tempPlayerMissile.lifeCtr > tempPlayerMissile.life){
//ConsoleLog.log("removing player missile");
playerMissiles.splice(playerMissileCtr,1)
tempPlayerMissile = null;
}
}
}
function updateRocks(){
var tempRock = {};
var rocksLength = rocks.length−1;
//ConsoleLog.log("update rocks length=" + rocksLength);
for (var rockCtr=rocksLength;rockCtr>=0;rockCtr--){
tempRock = rocks[rockCtr]
tempRock.x += tempRock.dx;
tempRock.y += tempRock.dy;
tempRock.rotation += tempRock.rotationInc;
//ConsoleLog.log("rock rotationInc="+ tempRock.rotationInc)
//ConsoleLog.log("rock rotation="+ tempRock.rotation)
if (tempRock.x > xMax) {
tempRock.x = xMin-tempRock.width;
}else if (tempRock.x } if (tempRock.y > yMax) { tempRock.y = yMin-tempRock.width; }else if (tempRock.y } //ConsoleLog.log("update rock "+ rockCtr) } } function updateSaucers() { //first check to see if we want to add a saucer if (saucers.length< levelSaucerMax){ if (Math.floor(Math.random()*100)<=levelSaucerOccurrenceRate){ //ConsoleLog.log("create saucer") var newSaucer = {}; newSaucer.width = 28; newSaucer.height = 13; newSaucer.halfHeight = 6.5; newSaucer.halfWidth = 14; newSaucer.scoreValue = saucerScore; newSaucer.fireRate = levelSaucerFireRate; newSaucer.fireDelay = levelSaucerFireDelay; newSaucer.fireDelayCount = 0; newSaucer.missileSpeed = levelSaucerMissileSpeed; newSaucer.dy = (Math.random()*2); if (Math.floor(Math.random)*2==1){ newSaucer.dy*=-1; } //choose betweeen left or right edge to start if (Math.floor(Math.random()*2)==1){ //start on right and go left newSaucer.x = 450; newSaucer.dx=-1*levelSaucerSpeed; }else{ //left to right newSaucer.x=-50; newSaucer.dx = levelSaucerSpeed; } newSaucer.missileSpeed = levelSaucerMissileSpeed; newSaucer.fireDelay = levelSaucerFireDelay; newSaucer.fireRate = levelSaucerFireRate; newSaucer.y = Math.floor(Math.random()*400); saucers.push(newSaucer); } } var tempSaucer = {}; var saucerLength = saucers.length-1; //ConsoleLog.log("update rocks length=" + rocksLength); for (var saucerCtr=saucerLength;saucerCtr>=0;saucerCtr--){ tempSaucer = saucers[saucerCtr]; //should saucer fire tempSaucer.fireDelayCount++; if (Math.floor(Math.random()*100) <=tempSaucer.fireRate && tempSaucer.fireDelayCount>tempSaucer.fireDelay ){ fireSaucerMissile(tempSaucer) tempSaucer.fireDelayCount= 0; } var remove = false; tempSaucer.x += tempSaucer.dx; tempSaucer.y += tempSaucer.dy; //remove saucers on left and right edges if (tempSaucer.dx > 0 && tempSaucer.x >xMax){ remove = true; }else if (tempSaucer.dx <0 &&tempSaucer.x } //bounce saucers off over vertical edges if (tempSaucer.y > yMax || tempSaucer.y } if (remove==true) { //remove the saucer ConsoleLog.log("saucer removed") saucers.splice(saucerCtr,1); tempSaucer = null; } } } function updateSaucerMissiles() { var tempSaucerMissile = {}; var saucerMissileLength = saucerMissiles.length-1; for (var saucerMissileCtr=saucerMissileLength; saucerMissileCtr>=0;saucerMissileCtr--){ //ConsoleLog.log("update player missile" + playerMissileCtr) tempSaucerMissile = saucerMissiles[saucerMissileCtr]; tempSaucerMissile.x += tempSaucerMissile.dx; tempSaucerMissile.y += tempSaucerMissile.dy; if (tempSaucerMissile.x > xMax)