/**** * Classes ****/ // Define a class for enemies var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = (Math.random() < 0.5 ? 5 : 10) * 1.2; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); // Define a class for enemy2 with the same properties as the enemy class var Enemy2 = Container.expand(function () { var self = Container.call(this); var enemy2Graphics = self.attachAsset('enemy2', { anchorX: 0.5, anchorY: 0.5 }); self.speed = (Math.random() < 0.5 ? 5 : 10) * 1.2; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); //<Assets used in the game will automatically appear here> // Define a class for the player character var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.jumpHeight = 40; self.isJumping = false; self.velocityY = 0; self.update = function () { if (self.isJumping) { self.y += self.velocityY; self.velocityY += 0.8; // Increased gravity effect by 10% if (self.y >= 2732 / 2) { // Ground level self.y = 2732 / 2; self.isJumping = false; self.velocityY = 0; } } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.velocityY = -self.jumpHeight; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ var background = game.addChild(LK.getAsset('background', { anchorX: 0, anchorY: 0 })); background.x = 0; background.y = 0; background.speed = 2; background.update = function () { // Do nothing }; game.update = function () { background.update(); }; game.addChild(background); // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2732 / 2; // Initialize enemies var enemies = []; var enemySpawnInterval = 100; var enemySpawnCounter = 0; // Create a new Text2 object to display the score var scoreText = new Text2('0', { size: 100, fill: 0x000000 // Change the color to black }); // Add the score text to the game GUI at the center of the screen LK.gui.center.addChild(scoreText); scoreText.x = 0; // Center the score horizontally scoreText.y = -LK.gui.height * 0.50; // Move the score 50% up // Handle game updates game.update = function () { player.update(); // Spawn enemies enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2; enemies.push(enemy); game.addChild(enemy); // Randomize the spawn interval for the next enemy enemySpawnInterval = Math.floor(Math.random() * 150) + 50; enemySpawnCounter = 0; } // Update enemies for (var j = enemies.length - 1; j >= 0; j--) { enemies[j].update(); if (player.intersects(enemies[j])) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } else if (player.x > enemies[j].x && !enemies[j].passed) { enemies[j].passed = true; LK.setScore(LK.getScore() + 1); scoreText.setText(LK.getScore()); } } }; // Handle player jump game.down = function (x, y, obj) { player.jump(); }; // Create a new Text2 object to display the stopwatch var stopwatchText = new Text2('0:00', { size: 95, // Reduce the size by 5% fill: 0x000000 // Change the color to black }); // Add the stopwatch text to the game GUI at the center of the screen LK.gui.center.addChild(stopwatchText); stopwatchText.x = -LK.gui.width * 0.30; // Move the stopwatch 10% to the right stopwatchText.y = LK.gui.height * 0.05; // Move the stopwatch 5% down // Initialize stopwatch var stopwatch = 0; // Update stopwatch every second LK.setInterval(function () { stopwatch++; var minutes = Math.floor(stopwatch / 60); var seconds = stopwatch % 60; stopwatchText.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds); }, 1000); // Play background music LK.playMusic('boinng'); // Fade out the light by 20% every 6 seconds and then restore it LK.setInterval(function () { LK.effects.flashScreen(0.2, 6000); LK.setTimeout(function () { LK.effects.flashScreen(1, 6000); }, 6000); }, 12000); ;
/****
* Classes
****/
// Define a class for enemies
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = (Math.random() < 0.5 ? 5 : 10) * 1.2;
self.update = function () {
self.x -= self.speed;
if (self.x < -50) {
self.destroy();
}
};
});
// Define a class for enemy2 with the same properties as the enemy class
var Enemy2 = Container.expand(function () {
var self = Container.call(this);
var enemy2Graphics = self.attachAsset('enemy2', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = (Math.random() < 0.5 ? 5 : 10) * 1.2;
self.update = function () {
self.x -= self.speed;
if (self.x < -50) {
self.destroy();
}
};
});
//<Assets used in the game will automatically appear here>
// Define a class for the player character
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.jumpHeight = 40;
self.isJumping = false;
self.velocityY = 0;
self.update = function () {
if (self.isJumping) {
self.y += self.velocityY;
self.velocityY += 0.8; // Increased gravity effect by 10%
if (self.y >= 2732 / 2) {
// Ground level
self.y = 2732 / 2;
self.isJumping = false;
self.velocityY = 0;
}
}
};
self.jump = function () {
if (!self.isJumping) {
self.isJumping = true;
self.velocityY = -self.jumpHeight;
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Sky blue background
});
/****
* Game Code
****/
var background = game.addChild(LK.getAsset('background', {
anchorX: 0,
anchorY: 0
}));
background.x = 0;
background.y = 0;
background.speed = 2;
background.update = function () {
// Do nothing
};
game.update = function () {
background.update();
};
game.addChild(background);
// Initialize player
var player = game.addChild(new Player());
player.x = 2048 / 2;
player.y = 2732 / 2;
// Initialize enemies
var enemies = [];
var enemySpawnInterval = 100;
var enemySpawnCounter = 0;
// Create a new Text2 object to display the score
var scoreText = new Text2('0', {
size: 100,
fill: 0x000000 // Change the color to black
});
// Add the score text to the game GUI at the center of the screen
LK.gui.center.addChild(scoreText);
scoreText.x = 0; // Center the score horizontally
scoreText.y = -LK.gui.height * 0.50; // Move the score 50% up
// Handle game updates
game.update = function () {
player.update();
// Spawn enemies
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
var enemy = new Enemy();
enemy.x = 2048;
enemy.y = 2732 / 2;
enemies.push(enemy);
game.addChild(enemy);
// Randomize the spawn interval for the next enemy
enemySpawnInterval = Math.floor(Math.random() * 150) + 50;
enemySpawnCounter = 0;
}
// Update enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].update();
if (player.intersects(enemies[j])) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
} else if (player.x > enemies[j].x && !enemies[j].passed) {
enemies[j].passed = true;
LK.setScore(LK.getScore() + 1);
scoreText.setText(LK.getScore());
}
}
};
// Handle player jump
game.down = function (x, y, obj) {
player.jump();
};
// Create a new Text2 object to display the stopwatch
var stopwatchText = new Text2('0:00', {
size: 95,
// Reduce the size by 5%
fill: 0x000000 // Change the color to black
});
// Add the stopwatch text to the game GUI at the center of the screen
LK.gui.center.addChild(stopwatchText);
stopwatchText.x = -LK.gui.width * 0.30; // Move the stopwatch 10% to the right
stopwatchText.y = LK.gui.height * 0.05; // Move the stopwatch 5% down
// Initialize stopwatch
var stopwatch = 0;
// Update stopwatch every second
LK.setInterval(function () {
stopwatch++;
var minutes = Math.floor(stopwatch / 60);
var seconds = stopwatch % 60;
stopwatchText.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds);
}, 1000);
// Play background music
LK.playMusic('boinng');
// Fade out the light by 20% every 6 seconds and then restore it
LK.setInterval(function () {
LK.effects.flashScreen(0.2, 6000);
LK.setTimeout(function () {
LK.effects.flashScreen(1, 6000);
}, 6000);
}, 12000);
;