make invaders better
add kill count do not move all invaders at once
This commit is contained in:
@@ -10,15 +10,10 @@
|
||||
z-index: 9999;
|
||||
cursor:crosshair;
|
||||
background: url("../img/city_silhouette.png");
|
||||
background-repeat-y: no-repeat;
|
||||
background-repeat: repeat-x;
|
||||
background-position-y: bottom;
|
||||
}
|
||||
|
||||
#invaders_points {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#invaders_game_over {
|
||||
display: none;
|
||||
|
||||
@@ -8,9 +8,12 @@ var invaders_margin = 30;
|
||||
var invaders_city_height = 75;
|
||||
var invaders_pause = true;
|
||||
var invaders_parentDivId = 'invaders_area';
|
||||
var invaders_kills = 0;
|
||||
var invaders_points = 0;
|
||||
var invaders_points_kill = 10;
|
||||
var invaders_points_lost = -50;
|
||||
var invaders_game_over = false;
|
||||
var invaders_loop_count = 0;
|
||||
|
||||
function initInvaders(parentDivId) {
|
||||
|
||||
@@ -19,7 +22,7 @@ function initInvaders(parentDivId) {
|
||||
var parent = $('#'+parentDivId);
|
||||
var height = parent.height();
|
||||
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).height(parent.height());
|
||||
$('#'+invaders_parentDivId).width(parent.width());
|
||||
@@ -49,7 +52,7 @@ function startInvaders() {
|
||||
}
|
||||
$('#'+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);
|
||||
}
|
||||
}
|
||||
@@ -69,46 +72,52 @@ function addInvader()
|
||||
$("#"+id).click(function()
|
||||
{
|
||||
addPoints(invaders_points_kill);
|
||||
invaders_kills++;
|
||||
$('#invaders_kills').text('Kills: ' + invaders_kills);
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
|
||||
function addPoints(increment){
|
||||
var currentPoints = $('#invaders_points').text();
|
||||
var newPoints = parseInt(currentPoints) + increment;
|
||||
if (newPoints >= 0) {
|
||||
$('#invaders_points').text(newPoints);
|
||||
} else {
|
||||
invaders_points += increment;
|
||||
$('#invaders_points').text('Points: ' + invaders_points);
|
||||
|
||||
if (invaders_points < 0) {
|
||||
gameOver();
|
||||
}
|
||||
}
|
||||
|
||||
function moveRandomly(parentDivId)
|
||||
{
|
||||
invaders_loop_count++;
|
||||
$('.invader').each(function(index) {
|
||||
var invader = $(this);
|
||||
var top = invader.position().top;
|
||||
var left = invader.position().left;
|
||||
|
||||
var parent = $('#'+parentDivId);
|
||||
var minTop = parent.position().top;
|
||||
var maxTop = parent.height();
|
||||
var width = parent.width();
|
||||
|
||||
var newTop = top + invaders_stepSize;
|
||||
var newLeft = left + moveIncrement(0, width, left);
|
||||
var invaderNumber = parseInt(invader.attr('id').replace(/^\D+/g, ''))
|
||||
if (invaderNumber % 5 == invaders_loop_count % 5)
|
||||
{
|
||||
var top = invader.position().top;
|
||||
var left = invader.position().left;
|
||||
|
||||
if (newTop > (maxTop - invaders_city_height)) {
|
||||
// reached the city, you are loosing points
|
||||
addPoints(invaders_points_lost);
|
||||
$(this).remove();
|
||||
var parent = $('#'+parentDivId);
|
||||
var minTop = parent.position().top;
|
||||
var maxTop = parent.height();
|
||||
var width = parent.width();
|
||||
|
||||
var newTop = top + invaders_stepSize;
|
||||
var newLeft = left + moveIncrement(0, width, left);
|
||||
|
||||
if (newTop > (maxTop - invaders_city_height)) {
|
||||
// reached the city, you are loosing points
|
||||
addPoints(invaders_points_lost);
|
||||
$(this).remove();
|
||||
}
|
||||
else {
|
||||
invader.css({
|
||||
"top" : (newTop) + "px",
|
||||
"left": (newLeft) + "px"
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
invader.css({
|
||||
"top" : (newTop) + "px",
|
||||
"left": (newLeft) + "px"
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ $(document).ready(function(){
|
||||
});
|
||||
|
||||
initInvaders('result-view');
|
||||
startInvaders();
|
||||
//startInvaders();
|
||||
});
|
||||
|
||||
function zoomIn()
|
||||
|
||||
Reference in New Issue
Block a user