make invaders better

add kill count
do not move all invaders at once
This commit is contained in:
2017-10-01 19:08:59 +02:00
parent 08f1961f51
commit 11b3610971
3 changed files with 38 additions and 34 deletions

View File

@@ -10,15 +10,10 @@
z-index: 9999; z-index: 9999;
cursor:crosshair; cursor:crosshair;
background: url("../img/city_silhouette.png"); background: url("../img/city_silhouette.png");
background-repeat-y: no-repeat; background-repeat: repeat-x;
background-position-y: bottom; background-position-y: bottom;
} }
#invaders_points {
position: absolute;
top: 0;
right: 0;
}
#invaders_game_over { #invaders_game_over {
display: none; display: none;

View File

@@ -8,9 +8,12 @@ var invaders_margin = 30;
var invaders_city_height = 75; var invaders_city_height = 75;
var invaders_pause = true; var invaders_pause = true;
var invaders_parentDivId = 'invaders_area'; var invaders_parentDivId = 'invaders_area';
var invaders_kills = 0;
var invaders_points = 0;
var invaders_points_kill = 10; var invaders_points_kill = 10;
var invaders_points_lost = -50; var invaders_points_lost = -50;
var invaders_game_over = false; var invaders_game_over = false;
var invaders_loop_count = 0;
function initInvaders(parentDivId) { function initInvaders(parentDivId) {
@@ -19,7 +22,7 @@ function initInvaders(parentDivId) {
var parent = $('#'+parentDivId); var parent = $('#'+parentDivId);
var height = parent.height(); var height = parent.height();
var width = parent.width(); var width = parent.width();
$('body').append('<div id="'+invaders_parentDivId+'"><div id="invaders_points">0</div><div id="invaders_game_over"><div class="invader_notify">Game Over</div></div></div>'); $('body').append('<div id="'+invaders_parentDivId+'"><div id="invaders_points">Points: 0</div><div id="invaders_kills">Kills: 0</div><div id="invaders_game_over"><div class="invader_notify">Game Over</div></div></div>');
$('#'+invaders_parentDivId).offset({ top: parent.offset().top, left: parent.offset().left}) $('#'+invaders_parentDivId).offset({ top: parent.offset().top, left: parent.offset().left})
$('#'+invaders_parentDivId).height(parent.height()); $('#'+invaders_parentDivId).height(parent.height());
$('#'+invaders_parentDivId).width(parent.width()); $('#'+invaders_parentDivId).width(parent.width());
@@ -49,7 +52,7 @@ function startInvaders() {
} }
$('#'+invaders_parentDivId).show(); $('#'+invaders_parentDivId).show();
invaders_game_move=window.setInterval("moveRandomly('"+invaders_parentDivId+"')",400); invaders_game_move=window.setInterval("moveRandomly('"+invaders_parentDivId+"')",100);
invaders_game_new=window.setInterval("addInvader()", 1000); invaders_game_new=window.setInterval("addInvader()", 1000);
} }
} }
@@ -69,24 +72,29 @@ function addInvader()
$("#"+id).click(function() $("#"+id).click(function()
{ {
addPoints(invaders_points_kill); addPoints(invaders_points_kill);
invaders_kills++;
$('#invaders_kills').text('Kills: ' + invaders_kills);
$(this).remove(); $(this).remove();
}); });
} }
function addPoints(increment){ function addPoints(increment){
var currentPoints = $('#invaders_points').text(); invaders_points += increment;
var newPoints = parseInt(currentPoints) + increment; $('#invaders_points').text('Points: ' + invaders_points);
if (newPoints >= 0) {
$('#invaders_points').text(newPoints); if (invaders_points < 0) {
} else {
gameOver(); gameOver();
} }
} }
function moveRandomly(parentDivId) function moveRandomly(parentDivId)
{ {
invaders_loop_count++;
$('.invader').each(function(index) { $('.invader').each(function(index) {
var invader = $(this); var invader = $(this);
var invaderNumber = parseInt(invader.attr('id').replace(/^\D+/g, ''))
if (invaderNumber % 5 == invaders_loop_count % 5)
{
var top = invader.position().top; var top = invader.position().top;
var left = invader.position().left; var left = invader.position().left;
@@ -109,6 +117,7 @@ function moveRandomly(parentDivId)
"left": (newLeft) + "px" "left": (newLeft) + "px"
}); });
} }
}
}); });
} }

View File

@@ -43,7 +43,7 @@ $(document).ready(function(){
}); });
initInvaders('result-view'); initInvaders('result-view');
startInvaders(); //startInvaders();
}); });
function zoomIn() function zoomIn()