HTML5 Canvas [181]
playerMissileCtr--){
//ConsoleLog.log("update player missile" + playerMissileCtr)
tempPlayerMissile = playerMissiles[playerMissileCtr];
tempPlayerMissile.x += tempPlayerMissile.dx*frameRateCounter.step;;
tempPlayerMissile.y += tempPlayerMissile.dy*frameRateCounter.step;;
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*frameRateCounter.step;
tempRock.y += tempRock.dy*frameRateCounter.step;
tempRock.animationCount++;
if (tempRock.animationCount > tempRock.animationDelay){
tempRock.animationCount = 0;
tempRock.rotation += tempRock.rotationInc;
if (tempRock.rotation > 4){
tempRock.rotation = 0;
}else if (tempRock.rotation <0){
tempRock.rotation = 4;
}
}
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 = 30; newSaucer.height = 13; newSaucer.halfHeight = 6.5; newSaucer.halfWidth = 15; newSaucer.hitWidth = 30; newSaucer.hitHeight = 13; 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 ){ playSound(SOUND_SAUCER_SHOOT,.5); fireSaucerMissile(tempSaucer) tempSaucer.fireDelayCount=0; } var remove = false; tempSaucer.x += tempSaucer.dx*frameRateCounter.step; tempSaucer.y += tempSaucer.dy*frameRateCounter.step; //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