/**** * Classes ****/ // Class for market signals var MarketSignal = Container.expand(function () { var self = Container.call(this); self.isBull = Math.random() > 0.5; var color = self.isBull ? 0x00ff00 : 0xff0000; var signalGraphics = self.attachAsset('signal', { color: color, width: 200, height: 50, anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.x -= self.speed; if (self.x < -100) { self.destroy(); } }; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // 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.yVelocity = 0; self.isJumping = false; self.update = function () { if (self.isJumping) { self.y += self.yVelocity; self.yVelocity += 0.5; // Gravity effect if (self.y >= 200) { // Ground level self.y = 200; self.isJumping = false; } } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.yVelocity = -15; // Jump strength } }; }); // Class for the shark var Shark = Container.expand(function () { var self = Container.call(this); var sharkGraphics = self.attachAsset('shark', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.x += self.speed; if (self.x > 2048) { self.x = -100; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize player var player = new Player(); player.x = 200; player.y = 200; game.addChild(player); // Initialize shark var shark = new Shark(); shark.y = 2600; // Bottom of the screen game.addChild(shark); // Array to hold market signals var marketSignals = []; // Function to create a new market signal function createMarketSignal() { var signal = new MarketSignal(); signal.x = 2048; signal.y = 200; marketSignals.push(signal); game.addChild(signal); } // Create market signals at intervals var signalInterval = LK.setInterval(createMarketSignal, 2000); // Handle player jump on touch game.down = function (x, y, obj) { player.jump(); }; // Update game state game.update = function () { player.update(); shark.update(); for (var i = marketSignals.length - 1; i >= 0; i--) { marketSignals[i].update(); if (player.intersects(marketSignals[i])) { if (!marketSignals[i].isBull) { // If player steps on a bear market signal marketSignals[i].destroy(); marketSignals.splice(i, 1); } } } };
/****
* Classes
****/
// Class for market signals
var MarketSignal = Container.expand(function () {
var self = Container.call(this);
self.isBull = Math.random() > 0.5;
var color = self.isBull ? 0x00ff00 : 0xff0000;
var signalGraphics = self.attachAsset('signal', {
color: color,
width: 200,
height: 50,
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
self.x -= self.speed;
if (self.x < -100) {
self.destroy();
}
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// 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.yVelocity = 0;
self.isJumping = false;
self.update = function () {
if (self.isJumping) {
self.y += self.yVelocity;
self.yVelocity += 0.5; // Gravity effect
if (self.y >= 200) {
// Ground level
self.y = 200;
self.isJumping = false;
}
}
};
self.jump = function () {
if (!self.isJumping) {
self.isJumping = true;
self.yVelocity = -15; // Jump strength
}
};
});
// Class for the shark
var Shark = Container.expand(function () {
var self = Container.call(this);
var sharkGraphics = self.attachAsset('shark', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 3;
self.update = function () {
self.x += self.speed;
if (self.x > 2048) {
self.x = -100;
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize player
var player = new Player();
player.x = 200;
player.y = 200;
game.addChild(player);
// Initialize shark
var shark = new Shark();
shark.y = 2600; // Bottom of the screen
game.addChild(shark);
// Array to hold market signals
var marketSignals = [];
// Function to create a new market signal
function createMarketSignal() {
var signal = new MarketSignal();
signal.x = 2048;
signal.y = 200;
marketSignals.push(signal);
game.addChild(signal);
}
// Create market signals at intervals
var signalInterval = LK.setInterval(createMarketSignal, 2000);
// Handle player jump on touch
game.down = function (x, y, obj) {
player.jump();
};
// Update game state
game.update = function () {
player.update();
shark.update();
for (var i = marketSignals.length - 1; i >= 0; i--) {
marketSignals[i].update();
if (player.intersects(marketSignals[i])) {
if (!marketSignals[i].isBull) {
// If player steps on a bear market signal
marketSignals[i].destroy();
marketSignals.splice(i, 1);
}
}
}
};