User prompt
key1 i alınca skora 2 puan ekle,key2 i alınca skora 5 puan ekle,key3 i alınca skora 7 puan ekle,
User prompt
keyleri alınca skor anlık sıfırlanıyor ve puanıda eklemiyor bunu düzelt
User prompt
keyler her 5 puanda bir gelsin
User prompt
Please fix the bug: 'ReferenceError: keyType is not defined' in or related to this line: 'switch (keyType) {' Line Number: 125
User prompt
key1 i alıca ekranda "+2 score" yazsın ve skora 2 puan eklensin, key2 yi alınca ekranda "+5 score" yazsın ve skore 5 puan eklensin, key3 ü alınca ekranda "+7score" yazsın ve skoar 7 puan eklensin
User prompt
Please fix the bug: 'ReferenceError: keyType is not defined' in or related to this line: 'if (keyType === 'key1') {' Line Number: 125
User prompt
key1 i alıca üzerinde "+2 score" yazsın ve skora 2 puan eklensin, key2 yi alınca "+5 score" yazsın ve skore 5 puan eklensin, key3 ü alınca "+7score" yazsın ve skoar 7 puan eklensin
User prompt
her 15 puanda bir "key1","key2","key3" herhangi bir koridordan gelsin ve bunları alabilelim
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'intersects')' in or related to this line: 'if (obstacles[i].intersects(player)) {' Line Number: 216
User prompt
skor arttıkça mermileri hızlandır
User prompt
mermilerin spawn olma süresini arttır
User prompt
mermilerin y ekseni arasındaki mesafeyi arttır
User prompt
mermilerin x ekseni arasındaki mesafeyi arttır
User prompt
mermilerin yataydaki arasındaki mesafeyi arttır
User prompt
mermilerin yataydaki mesafesini arttır (hızını değiştirmeden)
User prompt
bazen 2 mermi birden gelsin farklı koridorlardan
User prompt
her 30 skorda bir key1 herhangi bir koridordan gelsin ve bunu alabilelim
User prompt
bazen 2 koridordanda mermi gelsin
User prompt
bazene 2 koridordanda mermi gelsin
User prompt
her 20 skorda bi key3 herhangi bir koridordan gelsni gelsin
User prompt
her 10 skorda bi key3 gelsin
User prompt
her 10 skorda 3 saniye mermi gelmesin
User prompt
her 10 korda 2 dalga mermi gelmesin
User prompt
keylerin hızını biraz azalt
User prompt
keylerin hızını 2 katına çıakrve her 10 skorda bir gelsinler
/****
* Plugins
****/
var tween = LK.import("@upit/tween.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 Key class
var Key = Container.expand(function () {
var self = Container.call(this);
var keyTypes = ['key1', 'key2', 'key3'];
var randomKey = keyTypes[Math.floor(Math.random() * keyTypes.length)];
var keyGraphics = self.attachAsset(randomKey, {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 10; // Double the initial speed
// Update method for key movement
self.update = function () {
self.x -= self.speed;
};
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) {
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) {
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;
// Initialize player
var player = new Player();
player.x = 200;
player.y = 1366 - 450; // Start on the middle layer
game.addChild(player);
// 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 = 1024;
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 = 1024;
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 keys array
var keys = [];
var keySpawned = false;
// 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);
// Function to create obstacles
function createObstacle() {
var obstacle = new Obstacle();
obstacle.x = 2048 * 1.5;
obstacle.y = 1366 - 450 + (Math.floor(Math.random() * 3) - 1) * 450; // Random layer
obstacles.push(obstacle);
game.addChild(obstacle);
}
// Function to create keys
function createKey() {
var key = new Key();
key.x = 2048;
key.y = 1366 - 450 + (Math.floor(Math.random() * 3) - 1) * 450; // Random layer
keys.push(key);
game.addChild(key);
}
// Function to update game speed
function updateSpeed() {
player.speed += 0.02;
obstacles.forEach(function (obstacle) {
obstacle.speed += 0.02;
});
}
// 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);
}
if (obstacles[i].intersects(player)) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
// Update keys
for (var j = keys.length - 1; j >= 0; j--) {
keys[j].update();
if (keys[j].x < -100) {
keys[j].destroy();
keys.splice(j, 1);
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
if (keys[j].intersects(player)) {
keys[j].destroy();
keys.splice(j, 1);
}
}
// Create new obstacles
if (LK.ticks % 60 == 0) {
createObstacle();
}
// Create new key every 10 score
if (score > 0 && score % 10 === 0 && !keySpawned) {
createKey();
keySpawned = true;
} else if (score % 10 !== 0) {
keySpawned = false;
}
// Create new obstacles
if (LK.ticks % 60 == 0) {
createObstacle();
}
// Update speed
updateSpeed();
};