xxxxxxxxxx
99
var aliens = [];
var enemy, friendly;
var scoreCount = 0;
var gameOver = false;
var difficultyLevel = 4;
function setup() {
createCanvas(500, 500);
enemy = loadImage('invader-enemy.png');
friendly = loadImage('invader-friendly.png');
}
function draw() {
background(0);
imageMode(CENTER);
if (gameOver) {
textAlign(CENTER);
textSize(76);
text("Game Over!!!", 0, height / 2, width, 80);
return;
}
var alienToRemove = null;
for (var i = 0; i < aliens.length; i++) {
// Draw an alien
drawAlien(aliens[i]);
// Move aliens downward
aliens[i].y += aliens[i].speed;
// Remove aliens at the bottom of the screen
if (aliens[i].y > height) {
alienToRemove = i;
if (aliens[i].type == 'enemy') {
scoreCount = scoreCount - 2;
}
}
// Click on alien
var distance = dist(mouseX, mouseY, aliens[i].x, aliens[i].y);
if (mouseIsPressed && distance < (aliens[i].size/2)) {
alienToRemove = i;
if (aliens[i].type == 'enemy') {
scoreCount++;
} else {
scoreCount--;
}
// Here is the modulo :)
if (scoreCount % 5 == 0) {
difficultyLevel++;
console.log(difficultyLevel);
}
}
}
// Remove an alien
if (alienToRemove != null) {
aliens.splice(alienToRemove, 1);
}
// Create new aliens at the top of the screen
if (random(100) < difficultyLevel) {
createAlien();
}
// Display our score
fill(255);
textSize(36);
text(scoreCount, 10, 40);
// Check Score
if (scoreCount < 0) {
gameOver = true;
}
}
function drawAlien(alien) {
if (alien.type == 'enemy') {
image(enemy, alien.x, alien.y, alien.size, alien.size);
} else {
image(friendly, alien.x, alien.y, alien.size, alien.size);
}
}
function createAlien() {
var newAlien = {
x: random(0, width),
y: -20,
size: 40,
speed: random(1, 2),
type: random(100) < 35 ? 'enemy' : 'friendly',
};
aliens.push(newAlien);
}