/**** * Classes ****/ // Bee class representing the bees to avoid var Bee = Container.expand(function () { var self = Container.call(this); var beeGraphics = self.attachAsset('bee', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Bees move left in a loop self.x -= 5; if (self.x < -100) { self.x = 2048 + 100; } }; }); // Fly class representing the flies to be eaten var Fly = Container.expand(function () { var self = Container.call(this); var flyGraphics = self.attachAsset('fly', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Flies move left in a loop self.x -= 5; if (self.x < -100) { self.x = 2048 + 100; } }; }); // PowerUp class representing the invincibility power-up var PowerUp = Container.expand(function () { var self = Container.call(this); var powerUpGraphics = self.attachAsset('powerUp', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // PowerUps move left in a loop self.x -= 5; if (self.x < -100) { self.x = 2048 + 100; } }; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Prana class representing the player character var Prana = Container.expand(function () { var self = Container.call(this); var pranaGraphics = self.attachAsset('prana', { anchorX: 0.5, anchorY: 0.5 }); self.jumpHeight = -60; self.gravity = 2; self.velocityY = 0; self.update = function () { self.velocityY += self.gravity; self.y += self.velocityY; // Prevent Prana from falling below the screen if (self.y > 2732 - pranaGraphics.height / 2) { self.y = 2732 - pranaGraphics.height / 2; self.velocityY = 0; } }; self.jump = function () { self.velocityY = self.jumpHeight; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Light blue background }); /**** * Game Code ****/ var background = game.attachAsset('background', { anchorX: 0.5, anchorY: 0.5 }); background.x = 2048 / 2; background.y = 2732 / 2; // Initialize game elements var prana = game.addChild(new Prana()); prana.x = 2048 / 2; prana.y = 2732 - 100; var flies = []; var bees = []; var powerUps = []; // Function to spawn flies function spawnFly() { var fly = new Fly(); fly.x = Math.random() * 2048; fly.y = Math.random() * (2732 / 2) + 2732 / 4; // Spawn flies a bit lower flies.push(fly); game.addChild(fly); } // Function to spawn bees function spawnPowerUp() { var powerUp = new PowerUp(); powerUp.x = Math.random() * 2048; powerUp.y = Math.random() * (2732 / 2) + 2732 / 4; // Spawn power-ups a bit lower powerUps.push(powerUp); game.addChild(powerUp); } function spawnBee() { var bee = new Bee(); bee.x = Math.random() * 2048; bee.y = Math.random() * (2732 / 2) + 2732 / 4; // Spawn bees a bit lower bees.push(bee); game.addChild(bee); } // Spawn initial flies and bees for (var i = 0; i < 10; i++) { spawnFly(); spawnBee(); } // Handle game updates game.update = function () { prana.update(); // Update movement for each fly for (var i = 0; i < flies.length; i++) { flies[i].update(); } // Update movement for each bee for (var i = 0; i < bees.length; i++) { bees[i].update(); } // Check for collisions with flies for (var i = flies.length - 1; i >= 0; i--) { if (prana.intersects(flies[i])) { flies[i].destroy(); flies.splice(i, 1); // Increase score when prana catches a fly LK.setScore(LK.getScore() + 1); } } // Check for collisions with power-ups for (var i = powerUps.length - 1; i >= 0; i--) { if (prana.intersects(powerUps[i])) { powerUps[i].destroy(); powerUps.splice(i, 1); // Make Prana invincible for 5 seconds prana.invincible = true; LK.setTimeout(function () { prana.invincible = false; // Notify the player that the power-up has ended LK.effects.flashScreen(0xff0000, 1000); }, 5000); } } // Check for collisions with bees for (var i = bees.length - 1; i >= 0; i--) { if (prana.intersects(bees[i]) && !prana.invincible) { // Handle game over or other actions LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } // Periodically spawn new flies and bees if (LK.ticks % 60 === 0) { spawnFly(); } if (LK.ticks % 300 === 0) { spawnPowerUp(); } if (LK.ticks % 180 === 0) { spawnBee(); } }; // Handle touch events for jumping game.down = function (x, y, obj) { if (prana.y >= 2732 - prana.height / 2) { prana.jump(); } };
/****
* Classes
****/
// Bee class representing the bees to avoid
var Bee = Container.expand(function () {
var self = Container.call(this);
var beeGraphics = self.attachAsset('bee', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Bees move left in a loop
self.x -= 5;
if (self.x < -100) {
self.x = 2048 + 100;
}
};
});
// Fly class representing the flies to be eaten
var Fly = Container.expand(function () {
var self = Container.call(this);
var flyGraphics = self.attachAsset('fly', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Flies move left in a loop
self.x -= 5;
if (self.x < -100) {
self.x = 2048 + 100;
}
};
});
// PowerUp class representing the invincibility power-up
var PowerUp = Container.expand(function () {
var self = Container.call(this);
var powerUpGraphics = self.attachAsset('powerUp', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// PowerUps move left in a loop
self.x -= 5;
if (self.x < -100) {
self.x = 2048 + 100;
}
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Prana class representing the player character
var Prana = Container.expand(function () {
var self = Container.call(this);
var pranaGraphics = self.attachAsset('prana', {
anchorX: 0.5,
anchorY: 0.5
});
self.jumpHeight = -60;
self.gravity = 2;
self.velocityY = 0;
self.update = function () {
self.velocityY += self.gravity;
self.y += self.velocityY;
// Prevent Prana from falling below the screen
if (self.y > 2732 - pranaGraphics.height / 2) {
self.y = 2732 - pranaGraphics.height / 2;
self.velocityY = 0;
}
};
self.jump = function () {
self.velocityY = self.jumpHeight;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Light blue background
});
/****
* Game Code
****/
var background = game.attachAsset('background', {
anchorX: 0.5,
anchorY: 0.5
});
background.x = 2048 / 2;
background.y = 2732 / 2;
// Initialize game elements
var prana = game.addChild(new Prana());
prana.x = 2048 / 2;
prana.y = 2732 - 100;
var flies = [];
var bees = [];
var powerUps = [];
// Function to spawn flies
function spawnFly() {
var fly = new Fly();
fly.x = Math.random() * 2048;
fly.y = Math.random() * (2732 / 2) + 2732 / 4; // Spawn flies a bit lower
flies.push(fly);
game.addChild(fly);
}
// Function to spawn bees
function spawnPowerUp() {
var powerUp = new PowerUp();
powerUp.x = Math.random() * 2048;
powerUp.y = Math.random() * (2732 / 2) + 2732 / 4; // Spawn power-ups a bit lower
powerUps.push(powerUp);
game.addChild(powerUp);
}
function spawnBee() {
var bee = new Bee();
bee.x = Math.random() * 2048;
bee.y = Math.random() * (2732 / 2) + 2732 / 4; // Spawn bees a bit lower
bees.push(bee);
game.addChild(bee);
}
// Spawn initial flies and bees
for (var i = 0; i < 10; i++) {
spawnFly();
spawnBee();
}
// Handle game updates
game.update = function () {
prana.update();
// Update movement for each fly
for (var i = 0; i < flies.length; i++) {
flies[i].update();
}
// Update movement for each bee
for (var i = 0; i < bees.length; i++) {
bees[i].update();
}
// Check for collisions with flies
for (var i = flies.length - 1; i >= 0; i--) {
if (prana.intersects(flies[i])) {
flies[i].destroy();
flies.splice(i, 1);
// Increase score when prana catches a fly
LK.setScore(LK.getScore() + 1);
}
}
// Check for collisions with power-ups
for (var i = powerUps.length - 1; i >= 0; i--) {
if (prana.intersects(powerUps[i])) {
powerUps[i].destroy();
powerUps.splice(i, 1);
// Make Prana invincible for 5 seconds
prana.invincible = true;
LK.setTimeout(function () {
prana.invincible = false;
// Notify the player that the power-up has ended
LK.effects.flashScreen(0xff0000, 1000);
}, 5000);
}
}
// Check for collisions with bees
for (var i = bees.length - 1; i >= 0; i--) {
if (prana.intersects(bees[i]) && !prana.invincible) {
// Handle game over or other actions
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
// Periodically spawn new flies and bees
if (LK.ticks % 60 === 0) {
spawnFly();
}
if (LK.ticks % 300 === 0) {
spawnPowerUp();
}
if (LK.ticks % 180 === 0) {
spawnBee();
}
};
// Handle touch events for jumping
game.down = function (x, y, obj) {
if (prana.y >= 2732 - prana.height / 2) {
prana.jump();
}
};
pixel hungery plant. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
pixel bee faceing left. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
pixel fly facing left. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
jungle. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
rain drop. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows