From 29006e138d64b64dede5242584bf5170e17f2708 Mon Sep 17 00:00:00 2001 From: Fabrice Ecaille Date: Wed, 9 Oct 2013 18:00:04 +0200 Subject: [PATCH] Optim: better waves managment --- js/spaceinvaders-core.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/js/spaceinvaders-core.js b/js/spaceinvaders-core.js index 614bfde..42f7dd9 100644 --- a/js/spaceinvaders-core.js +++ b/js/spaceinvaders-core.js @@ -43,7 +43,8 @@ var WAVES = [ Game = { running : false, - wave : -1, + wave_index : -1, + wave : undefined, aliens : [], ship : null, score : 0, @@ -51,14 +52,16 @@ Game = { init : function() { "use strict"; animations = WORLD.farm; - Game.wave = Game.wave + 1; - var row, col; - var wave = WAVES[Game.wave].wave; + Game.wave_index = Game.wave_index + 1; + Game.wave = WAVES[Math.min(Game.wave_index, WAVES.length - 1)]; + console.log(Game.wave_index, Game.wave); + var row, col, wave = Game.wave.wave; + for (row = 0; row < wave.length; row = row + 1) { var aliensRow = wave[row], type = aliensRow[0], offset = (PLAYGROUND_WIDTH - ((aliensRow.length - 1) * 0.5 + aliensRow.length) * ALIENS_WIDTH) / 2; for (col = 0; col < aliensRow.length; col = col + 1) { - Game.setAlien(col, row, offset, type, WAVES[Game.wave].move); + Game.setAlien(col, row, offset, type, Game.wave.move); } } @@ -226,7 +229,7 @@ Game = { Game.aliens = aliensNotInArray; alien.alien.hit(); var remainingAliens = $(".alien").length; - if( remainingAliens == WAVES[Game.wave].bonus[0] || remainingAliens == WAVES[Game.wave].bonus[1] ) { + if( remainingAliens == Game.wave.bonus[0] || remainingAliens == Game.wave.bonus[1] ) { Game.bonus(alienX, alienY, alienWidth, alienHeight); } })