User prompt
remove leaderboard display
User prompt
undp
User prompt
Fix Bug: 'TypeError: LK.getHighScores is not a function. (In 'LK.getHighScores()', 'LK.getHighScores' is undefined)' in this line: 'for (var i = 0; i < scores.length; i++) {' Line Number: 56
User prompt
add a leaderboard
Initial prompt
Block Dash
===================================================================
--- original.js
+++ change.js
@@ -1,89 +1,108 @@
-/****
+/****
* Classes
****/
// Player class
var Player = Container.expand(function () {
- var self = Container.call(this);
- var playerGraphics = self.createAsset('player', 'Player character', 0.5, 0.5);
- self.speed = 5;
- self.moveLeft = function () {
- self.x = Math.max(self.width / 2, self.x - self.speed);
- };
- self.moveRight = function () {
- self.x = Math.min(2048 - self.width / 2, self.x + self.speed);
- };
- self.update = function () {
- // Player update logic
- };
+ var self = Container.call(this);
+ var playerGraphics = self.createAsset('player', 'Player character', 0.5, 0.5);
+ self.speed = 5;
+ self.moveLeft = function () {
+ self.x = Math.max(self.width / 2, self.x - self.speed);
+ };
+ self.moveRight = function () {
+ self.x = Math.min(2048 - self.width / 2, self.x + self.speed);
+ };
+ self.update = function () {
+ // Player update logic
+ };
});
// Obstacle class
var Obstacle = Container.expand(function () {
- var self = Container.call(this);
- var obstacleGraphics = self.createAsset('obstacle', 'Obstacle', 0.5, 1);
- self.speed = 3;
- self.move = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var obstacleGraphics = self.createAsset('obstacle', 'Obstacle', 0.5, 1);
+ self.speed = 3;
+ self.move = function () {
+ self.y += self.speed;
+ };
});
-/****
+
+/****
* Initialize Game
****/
var game = new LK.Game({
- backgroundColor: 0x000000 // Init game with black background
+ backgroundColor: 0x000000 // Init game with black background
});
-/****
+
+/****
* Game Code
****/
// Game variables
var player = game.addChild(new Player());
player.x = 1024; // Center of the screen
player.y = 2732 - 100; // Near the bottom of the screen
-
var obstacles = [];
var isGameOver = false;
+var leaderboard = new Text2('Leaderboard:\n', {
+ size: 50,
+ fill: "#ffffff",
+ align: 'left'
+});
+leaderboard.x = 50;
+leaderboard.y = 50;
+LK.gui.left.addChild(leaderboard);
+function updateLeaderboard() {
+ var scores = LK.getHighScores();
+ var leaderboardText = 'Leaderboard:\n';
+ for (var i = 0; i < scores.length; i++) {
+ leaderboardText += i + 1 + '. ' + scores[i].name + ': ' + scores[i].score + '\n';
+ }
+ leaderboard.setText(leaderboardText);
+}
+updateLeaderboard();
// Touch event handlers
function handleTouchStart(obj) {
- var touchPos = obj.event.getLocalPosition(game);
- if (touchPos.x < 1024) {
- player.moveLeft();
- } else {
- player.moveRight();
- }
+ var touchPos = obj.event.getLocalPosition(game);
+ if (touchPos.x < 1024) {
+ player.moveLeft();
+ } else {
+ player.moveRight();
+ }
}
// Add touch event listener to the game
game.on('down', handleTouchStart);
// Game tick event
LK.on('tick', function () {
- if (isGameOver) {
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- return;
- }
+ if (isGameOver) {
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ updateLeaderboard();
+ return;
+ }
- // Update player
- player.update();
+ // Update player
+ player.update();
- // Move obstacles and check for collisions
- for (var i = obstacles.length - 1; i >= 0; i--) {
- obstacles[i].move();
- if (obstacles[i].y > 2732) {
- obstacles[i].destroy();
- obstacles.splice(i, 1);
- } else if (player.intersects(obstacles[i])) {
- isGameOver = true;
- }
- }
+ // Move obstacles and check for collisions
+ for (var i = obstacles.length - 1; i >= 0; i--) {
+ obstacles[i].move();
+ if (obstacles[i].y > 2732) {
+ obstacles[i].destroy();
+ obstacles.splice(i, 1);
+ } else if (player.intersects(obstacles[i])) {
+ isGameOver = true;
+ }
+ }
- // Spawn obstacles
- if (LK.ticks % 120 == 0) {
- // Every 2 seconds
- var obstacle = new Obstacle();
- obstacle.x = Math.random() * (2048 - obstacle.width) + obstacle.width / 2;
- obstacle.y = -obstacle.height;
- obstacles.push(obstacle);
- game.addChild(obstacle);
- }
+ // Spawn obstacles
+ if (LK.ticks % 120 == 0) {
+ // Every 2 seconds
+ var obstacle = new Obstacle();
+ obstacle.x = Math.random() * (2048 - obstacle.width) + obstacle.width / 2;
+ obstacle.y = -obstacle.height;
+ obstacles.push(obstacle);
+ game.addChild(obstacle);
+ }
});
\ No newline at end of file