/****
* Classes
****/
// Chicken Nugget Enemy Class
var ChickenNugget = Container.expand(function () {
var self = Container.call(this);
var nuggetGraphics = self.attachAsset('chickenNugget', {
anchorX: 0.5,
anchorY: 0.5
});
self.health = 5; // Health of the chicken nugget
self.speed = 2; // Movement speed
self.move = function () {
// Movement logic for the chicken nugget
};
self.takeDamage = function (amount) {
self.health -= amount;
if (self.health <= 0) {
self.destroy(); // Destroy the chicken nugget if health is 0 or less
}
};
});
// Assets will be automatically created based on usage in the code.
// Sauce Tower Class
var SauceTower = Container.expand(function () {
var self = Container.call(this);
var towerGraphics = self.attachAsset('sauceTower', {
anchorX: 0.5,
anchorY: 0.5
});
self.range = 300; // Example range of the tower
self.damage = 1; // Damage dealt by the tower
self.cooldown = 60; // Cooldown in ticks (60 ticks = 1 second)
self.tickSinceLastShot = 0;
self.update = function () {
// Tower attack logic
if (self.tickSinceLastShot >= self.cooldown) {
// Find and attack the nearest chicken nugget
self.tickSinceLastShot = 0;
} else {
self.tickSinceLastShot++;
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Light blue background
});
/****
* Game Code
****/
// Initialize important variables and arrays
var towers = [];
var enemies = [];
var spawnRate = 120; // Spawn an enemy every 2 seconds
var tickCount = 0;
// Main game loop
LK.on('tick', function () {
// Spawn enemies
if (tickCount % spawnRate === 0) {
var newEnemy = new ChickenNugget();
newEnemy.x = 100; // Starting X position
newEnemy.y = -50; // Starting Y position (spawn above the screen)
enemies.push(newEnemy);
game.addChild(newEnemy);
}
// Update towers
towers.forEach(function (tower) {
tower.update();
});
// Update enemies
enemies.forEach(function (enemy, index) {
enemy.move();
if (enemy.y > 2732) {
// If the enemy goes off the bottom of the screen
enemy.destroy();
enemies.splice(index, 1);
}
});
tickCount++;
});
// Example of placing a tower
game.on('down', function (obj) {
var pos = obj.event.getLocalPosition(game);
var newTower = new SauceTower();
newTower.x = pos.x;
newTower.y = pos.y;
towers.push(newTower);
game.addChild(newTower);
});