User prompt
tabloyu biraz yukarı taşı
User prompt
tabloyu biraz yukarı taşı
User prompt
tabloyu biraz yukarı taşı
User prompt
tabloyu biraz yukarı taşı
User prompt
tabloyu biraz yukarı taşı
User prompt
2x tabloyu biraz yukarı taşı
User prompt
tabloyu biraz yukarı taşı
User prompt
tabloyu biraz yukarı taşı
User prompt
tabloyu biraz yukarı taşı
User prompt
tabloyu tuşların konumuna agöre ortala
User prompt
yazı fontunu biraz küçült
User prompt
tablo nun yazı fontunu 2 katına çıkar
User prompt
yazı fontunu büyüt ve sadece your high score yazısı kalsın
User prompt
liderlik tablosunu sil sadece your high score kalsın
User prompt
Please fix the bug: 'TypeError: Set is not a constructor' in or related to this line: 'storage.leaderboard = Array.from(new Set(storage.leaderboard)).sort(function (a, b) {' Line Number: 243
User prompt
bunun sağlanması için gerekli kodları değiştir
User prompt
Please fix the bug: 'TypeError: Set is not a constructor' in or related to this line: 'storage.leaderboard = Array.from(new Set(storage.leaderboard)).sort(function (a, b) {' Line Number: 275
User prompt
Please fix the bug: 'TypeError: Set is not a constructor' in or related to this line: 'storage.leaderboard = _toConsumableArray(new Set(storage.leaderboard)).sort(function (a, b) {' Line Number: 275
User prompt
Please fix the bug: 'TypeError: Set is not a constructor' in or related to this line: 'storage.leaderboard = Array.from(new Set(storage.leaderboard)).sort(function (a, b) {' Line Number: 243
User prompt
ldierlik tablosunda sadece en yüksek puan yazılacak yani 10 yaparsam sıralama 10,9,8 olmayacak 10,5,4 olacak
User prompt
liderlik tablosundaki puanları sıfırla
User prompt
tuşları çok az yukarı al
User prompt
liderlik tablosunu biraz sağa taşı
User prompt
tuşları biraz sola al
User prompt
liderlik tablosunu biraz sağa taşı
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
// Define the Button class
var Button = Container.expand(function () {
var self = Container.call(this);
var buttonGraphics = self.attachAsset('button', {
anchorX: 0.5,
anchorY: 0.5
});
return self;
});
// Define the Obstacle class
var Obstacle = Container.expand(function () {
var self = Container.call(this);
var obstacleGraphics = self.attachAsset('bullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5; // Initial speed
// Update method for obstacle movement
self.update = function () {
self.x -= self.speed;
};
return self;
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Define the Player class
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('character', {
anchorX: 0.5,
anchorY: 0.5
});
self.layer = 1; // Start on the middle layer
self.speed = 10; // Initial speed
// Method to move the player up a layer
self.moveUp = function () {
if (self.layer > 0) {
LK.getSound('jump').play();
self.layer--;
tween(self, {
y: self.y - 450
}, {
duration: 300,
easing: tween.easeInOut
});
}
};
// Method to move the player down a layer
self.moveDown = function () {
if (self.layer < 2) {
LK.getSound('jump').play();
self.layer++;
tween(self, {
y: self.y + 450
}, {
duration: 300,
easing: tween.easeInOut
});
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x0000FF //Init game with blue background
});
/****
* Game Code
****/
var background = game.attachAsset('background', {
anchorX: 0.0,
anchorY: 0.0
});
background.x = 0;
background.y = 0;
// Play 'macera' music track in a loop
LK.playMusic('macera');
var player = new Player();
player.x = 200;
player.y = 1366 - 450; // Start on the middle layer
game.addChild(player);
// Add squares to each layer
var layers = [-450, 0, 450];
layers.forEach(function (layer) {
var square = LK.getAsset('box1', {
anchorX: 0.5,
anchorY: 0.5
});
square.x = 1024; // Center horizontally
square.y = 1366 - 300 + layer; // Position based on layer, moved further down
game.addChild(square);
});
// Create a variable to keep track of the current character asset
var characterAssets = ['character', 'c2', 'c3', 'c4'];
var currentCharacterAsset = 0;
// Create a timer to change the character asset every 0.2 seconds
LK.setInterval(function () {
// Remove the current character asset
player.removeChild(player.children[0]);
// Update the current character asset index
currentCharacterAsset = (currentCharacterAsset + 1) % characterAssets.length;
// Attach the new character asset
player.attachAsset(characterAssets[currentCharacterAsset], {
anchorX: 0.5,
anchorY: 0.5
});
}, 200);
// Initialize buttons
var buttonUp = new Button();
buttonUp.x = 1524; // Move button further to the right
buttonUp.y = 2732 - 600; // Position at the bottom of the screen
buttonUp.scale.set(2); // Increase the size of the button
game.addChild(buttonUp);
var buttonDown = new Button();
buttonDown.x = 1524; // Move button further to the right
buttonDown.y = 2732 - 300; // Position at the bottom of the screen
buttonDown.scale.set(2); // Increase the size of the button
buttonDown.rotation = Math.PI; // Rotate the button by 180 degrees
game.addChild(buttonDown);
// Initialize obstacles array
var obstacles = [];
// Initialize score
var score = 0;
var scoreTxt = new Text2('0', {
size: 150,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Display leaderboard
var playerHighScore = storage.playerHighScore || 0;
var leaderboardTxt = new Text2('Leaderboard:\n' + (storage.leaderboard || []).slice(0, 3).join('\n') + '\nYour High Score: ' + playerHighScore, {
size: 100,
// Increased font size from 80 to 100
fill: 0xFFFFFF
});
leaderboardTxt.anchor.set(0, 0);
leaderboardTxt.x = buttonUp.x - 1400; // Move leaderboard slightly to the right
leaderboardTxt.y = buttonUp.y - 200; // Move leaderboard slightly upwards
game.addChild(leaderboardTxt);
// Function to create obstacles
function createObstacle() {
var lanes = [-450, 0, 450];
var selectedLanes = [lanes[Math.floor(Math.random() * lanes.length)]];
// 30% chance to spawn a second obstacle in a different lane
if (Math.random() < 0.3) {
var secondLane;
do {
secondLane = lanes[Math.floor(Math.random() * lanes.length)];
} while (selectedLanes.includes(secondLane));
selectedLanes.push(secondLane);
}
selectedLanes.forEach(function (lane) {
var obstacle = new Obstacle();
obstacle.x = 2048;
obstacle.y = 1366 - 350 + lane;
obstacles.push(obstacle);
game.addChild(obstacle);
});
}
// Function to update game speed
function updateSpeed() {
var speedIncrease = score * 0.01; // Increase speed based on score
player.speed += speedIncrease;
obstacles.forEach(function (obstacle) {
obstacle.speed += speedIncrease;
});
}
// Handle swipe up and down
game.move = function (x, y, obj) {
if (obj.event && obj.event.deltaY < 0) {
player.moveUp();
} else if (obj.event && obj.event.deltaY > 0) {
player.moveDown();
}
};
// Handle button presses
buttonUp.down = function (x, y, obj) {
if (!buttonUp.cooldown && !buttonDown.cooldown) {
player.moveUp();
buttonUp.cooldown = true;
buttonDown.cooldown = true;
LK.setTimeout(function () {
buttonUp.cooldown = false;
buttonDown.cooldown = false;
}, 310);
}
};
buttonDown.down = function (x, y, obj) {
if (!buttonUp.cooldown && !buttonDown.cooldown) {
player.moveDown();
buttonUp.cooldown = true;
buttonDown.cooldown = true;
LK.setTimeout(function () {
buttonUp.cooldown = false;
buttonDown.cooldown = false;
}, 310);
}
};
// Game update loop
game.update = function () {
// Update obstacles
for (var i = obstacles.length - 1; i >= 0; i--) {
obstacles[i].update();
if (obstacles[i].x < -100) {
obstacles[i].destroy();
obstacles.splice(i, 1);
score++;
scoreTxt.setText(score);
// Save the score to the leaderboard
storage.leaderboard = storage.leaderboard || [];
storage.leaderboard.push(score);
storage.leaderboard.sort(function (a, b) {
return b - a;
});
storage.leaderboard = storage.leaderboard.slice(0, 10);
if (score > playerHighScore) {
storage.playerHighScore = score;
}
}
if (obstacles[i] && obstacles[i].intersects(player)) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
// Create new obstacles
if (LK.ticks % 120 == 0) {
createObstacle();
}
// Update speed
updateSpeed();
};