User prompt
Bg=grey
User prompt
Bg=Fly88
User prompt
Add 2 red lines in the middle of game
User prompt
Add 2 lines in the middle of game
User prompt
Bg=grey
User prompt
Bg=cyan
User prompt
At lines in the middle of game
User prompt
Add 2 black lines in the bottom
User prompt
Add 2 black lines in the middle of the game
User prompt
Add 2 lines in the middle of game
User prompt
Bg=grey
User prompt
Bg=black and white
User prompt
Bg=road
User prompt
Bg = light blue
User prompt
Bg = road
User prompt
Score = rock disappears
User prompt
If hero touch rock it disappears
User prompt
Decrease the quantity of obstacle
User prompt
Add rocks
User prompt
Remove rocks
User prompt
Rock = less quantity
User prompt
Increase the quantity of obstacle
User prompt
Les the rock
User prompt
Less rock
User prompt
Decrease in the quantity of rocks
/****
* Classes
****/
var Dot = Container.expand(function () {
var self = Container.call(this);
var dotGraphics = self.attachAsset('dot', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for the dot, if needed
};
});
// Assets will be automatically created and loaded by the LK engine based on their usage in the code.
// For example, if you use LK.getAsset('hero'), the engine will automatically create and load an asset with the id 'hero'.
// Hero class representing the player character
var Hero = Container.expand(function () {
var self = Container.call(this);
var heroGraphics = self.attachAsset('hero', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
// Update logic for the hero, such as movement
};
});
var LeftButton = Container.expand(function () {
var self = Container.call(this);
var buttonGraphics = self.attachAsset('leftButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 150;
self.y = 2732 - 150;
self.down = function (x, y, obj) {
hero.x -= hero.speed;
};
});
// Obstacle class representing obstacles in the game
var Obstacle = Container.expand(function () {
var self = Container.call(this);
var obstacleGraphics = self.attachAsset('obstacle', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
self.y += self.speed;
if (self.y > 2732) {
self.destroy();
}
};
});
var RightButton = Container.expand(function () {
var self = Container.call(this);
var buttonGraphics = self.attachAsset('rightButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.x = 2048 - 150;
self.y = 2732 - 150;
self.down = function (x, y, obj) {
hero.x += hero.speed;
};
});
var Rock = Container.expand(function () {
var self = Container.call(this);
var rockGraphics = self.attachAsset('rock', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 4;
self.update = function () {
self.y += self.speed;
if (self.y > 2732) {
self.destroy();
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 // Init game with black background
});
/****
* Game Code
****/
// Initialize game variables
var leftButton = game.addChild(new LeftButton());
var rightButton = game.addChild(new RightButton());
var hero = game.addChild(new Hero());
hero.x = leftButton.x;
hero.y = leftButton.y - 200; // Adjusted to ensure hero spawns above the left button
var obstacles = [];
var dot = game.addChild(new Dot());
dot.x = 2048 / 2;
dot.y = 2732 / 2 - 100;
var score = 0;
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Function to handle game updates
game.update = function () {
// Update hero
hero.update();
// Check if dot intersects with left button
if (dot.intersects(leftButton)) {
hero.x -= hero.speed;
dot.x = leftButton.x;
// dot.y = 2732 - 50; // Removed command to prevent dot from moving to the bottom
}
// Check if dot intersects with right button
if (dot.intersects(rightButton)) {
hero.x += hero.speed;
dot.x = rightButton.x;
dot.y = rightButton.y;
}
// Update obstacles
for (var i = obstacles.length - 1; i >= 0; i--) {
obstacles[i].update();
if (hero.intersects(obstacles[i])) {
if (obstacles[i] instanceof Rock) {
obstacles[i].destroy();
obstacles.splice(i, 1);
score += 10; // Increase score by 10 when hero touches a rock
scoreTxt.setText(score); // Update score text
} else {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
}
// Spawn new obstacles
if (LK.ticks % 30 == 0) {
for (var j = 0; j < 2; j++) {
// Spawn two obstacles at a time
var newObstacle;
if (Math.random() > 0.9) {
newObstacle = new Obstacle();
} else {
newObstacle = new Rock();
}
newObstacle.x = Math.random() * 2048;
newObstacle.y = 0;
obstacles.push(newObstacle);
game.addChild(newObstacle);
}
}
// Check if hero touches the left or right edge of the screen
if (hero.x <= 0 || hero.x >= 2048) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
// Update score
};
// Handle touch events for hero movement
game.down = function (x, y, obj) {
dot.x = x;
dot.y = y;
};
game.move = function (x, y, obj) {
dot.x = x;
dot.y = y;
};
game.up = function (x, y, obj) {
// No action needed on touch up
};
Right button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Road. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Road Car. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Coin. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.