/****
* Classes
****/
// Bullet class
var Bullet = Container.expand(function () {
var self = Container.call(this);
self.speed = 10;
var bulletGraphics = self.attachAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
self.y -= self.speed;
if (self.y < 0) {
self.destroy();
}
};
});
//<Assets used in the game will automatically appear here>
// Player class
var Player = Container.expand(function () {
var self = Container.call(this);
self.health = 100;
self.speed = 5;
self.isAttacking = false;
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update player position and state
};
self.attack = function () {
self.isAttacking = true;
// Attack logic
};
self.takeDamage = function (amount) {
self.health -= amount;
if (self.health <= 0) {
self.health = 0;
self.die();
}
};
self.die = function () {
// Player death logic
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize players
var player1 = game.addChild(new Player());
player1.x = 300;
player1.y = 1366;
var player2 = game.addChild(new Player());
player2.x = 1748;
player2.y = 1366;
// Initialize bullets array
var bullets = [];
// Handle player movement
game.move = function (x, y, obj) {
if (obj.target === player1) {
player1.x = x;
player1.y = y;
} else if (obj.target === player2) {
player2.x = x;
player2.y = y;
}
};
// Handle player attack
game.down = function (x, y, obj) {
if (obj.target === player1) {
player1.attack();
} else if (obj.target === player2) {
player2.attack();
}
};
// Update game state
game.update = function () {
// Update players
player1.update();
player2.update();
// Update bullets
for (var i = bullets.length - 1; i >= 0; i--) {
bullets[i].update();
if (bullets[i].intersects(player1)) {
player1.takeDamage(10);
bullets[i].destroy();
bullets.splice(i, 1);
} else if (bullets[i].intersects(player2)) {
player2.takeDamage(10);
bullets[i].destroy();
bullets.splice(i, 1);
}
}
// Fire bullets
if (LK.ticks % 30 == 0) {
var newBullet1 = new Bullet();
newBullet1.x = player1.x;
newBullet1.y = player1.y;
bullets.push(newBullet1);
game.addChild(newBullet1);
var newBullet2 = new Bullet();
newBullet2.x = player2.x;
newBullet2.y = player2.y;
bullets.push(newBullet2);
game.addChild(newBullet2);
}
};