User prompt
Yer çekimi artsın
User prompt
Yukarı çıkış hızı artsın
User prompt
Yer çekimi azalsın
User prompt
Sağa gidiş birim sayısı 2 katına çıksın
User prompt
Rüzgar hızı 2 katına çıksın
User prompt
Please fix the bug: 'TypeError: requestAnimationFrame is not a function' in or related to this line: 'requestAnimationFrame(gameLoop); // Sonsuz döngü için' Line Number: 384
User prompt
Please fix the bug: 'ReferenceError: moveEnemies is not defined' in or related to this line: 'moveEnemies(); // Düşmanları hareket ettir' Line Number: 370
User prompt
let totalScore = 100; // Başlangıçta toplam puan let enemies = []; // Düşmanları temsil eden bir dizi // Düşman objesini temsil eden bir fonksiyon function createEnemy(x, y) { return { x: x, y: y, width: 50, // Düşmanın genişliği height: 50, // Düşmanın yüksekliği element: null }; } // Düşmanları oluşturup ekliyoruz function spawnEnemies() { // Örnek düşmanlar oluşturuluyor (rastgele konumlar) enemies.push(createEnemy(2048, 200)); // Düşman sahnenin sağ kenarından başlıyor enemies.push(createEnemy(2048, 400)); } // Düşmanları hareket ettiren fonksiyon function moveEnemies() { for (let i = 0; i < enemies.length; i++) { enemies[i].x -= 2; // Düşmanları sola hareket ettiriyoruz (hız 2px) // Eğer düşman sol kenara çarparsa if (enemies[i].x <= 0) { totalScore -= 5; // Puan kaybı console.log("Total Score: " + totalScore); // Puan kaybını konsola yazdırıyoruz enemies.splice(i, 1); // Düşmanı listeden siliyoruz (çarpma sonrası düşman yok oluyor) } } } // Animasyon fonksiyonu function gameLoop() { moveEnemies(); // Düşmanları hareket ettir // Burada oyun ile ilgili diğer işlemler yapılabilir requestAnimationFrame(gameLoop); // Sonsuz döngü için } // Başlangıçta düşmanları oluştur ve animasyonu başlat spawnEnemies(); gameLoop(); Kodu ekle
User prompt
Karakterimizin 3 tane canı var, bu can barları orta noktanın aşağısında, karakterimiz 3 kere kaybederse oyun biter
User prompt
20 puandan sonra düşman sayısı artar
User prompt
Yeni arkaplan asseti oluştur ve tüm ekranı kaplasın
User prompt
'arkaplan' resmi tüm ekranı kaplasın
User prompt
Tüm sahneyi kaplasın
User prompt
Arkaplan görselini arka plan resmi yap
User prompt
Please fix the bug: 'window.addEventListener is not a function' in or related to this line: 'window.addEventListener('load', function () {' Line Number: 125
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'getElementById')' in or related to this line: 'var background = document.getElementById('background');' Line Number: 126
User prompt
User prompt
player_down görseli sahneye çıkınca player görselini kaldır sahneden
User prompt
Please fix the bug: 'Uncaught ReferenceError: character is not defined' in or related to this line: 'character.attachAsset('player_down', {' Line Number: 309
User prompt
const downButton = document.getElementById('downButton'); const character = document.getElementById('character'); // Aşağı butonuna tıklanıldığında karakterin görselini "dow" olarak değiştir downButton.addEventListener('mousedown', () => { // "dow" görselinin adı "dow" character.src = 'dow'; // "dow" ile karakterin görselini değiştir character.style.position = 'absolute'; // Karakterin yerini değiştirmek için pozisyonu ayarlıyoruz character.style.top = 'calc(50% + 50px)'; // Karakteri aşağıya doğru kaydırıyoruz (örnek olarak 50px aşağı) }); // Buton bırakıldığında eski görsele dönsün downButton.addEventListener('mouseup', () => { character.src = 'player'; // Eski görsele geri dön character.style.top = '50%'; // Karakterin konumunu eski yerine geri getir }); kodu ekle
User prompt
Please fix the bug: 'Uncaught ReferenceError: character is not defined' in or related to this line: 'character.attachAsset('player', {' Line Number: 307
User prompt
const downButton = document.getElementById('downButton'); const character = document.getElementById('character'); // Aşağı butonuna tıklandığında karakterin görselini değiştir downButton.addEventListener('mousedown', () => { character.src = 'dow-image.png'; // 'dow-image.png' ile karakterin görselini değiştir }); // Buton bırakıldığında eski görsele dönsün downButton.addEventListener('mouseup', () => { character.src = 'original-image.png'; // Eski görsele geri dön }); // Fare ya da parmak butondan çıkarsa eski görsele dönsün downButton.addEventListener('mouseleave', () => { character.src = 'original-image.png'; // Eski görsele geri dön }); Kode ekle
User prompt
Please fix the bug: 'Uncaught ReferenceError: character is not defined' in or related to this line: 'character.attachAsset('player', {' Line Number: 307
User prompt
const downButton = document.getElementById('downButton'); const character = document.getElementById('character'); // Aşağı butonuna tıklandığında karakterin görselini değiştir downButton.addEventListener('mousedown', () => { character.src = 'dow-image.png'; // 'dow-image.png' ile karakterin görselini değiştir }); // Buton bırakıldığında eski görsele dönsün downButton.addEventListener('mouseup', () => { character.src = 'original-image.png'; // Eski görsele geri dön }); // Fare ya da parmak butondan çıkarsa eski görsele dönsün downButton.addEventListener('mouseleave', () => { character.src = 'original-image.png'; // Eski görsele geri dön }); Kodu ekle
User prompt
window.addEventListener('load', () => { const gameMusic = document.getElementById('gameMusic'); // Müzik dosyasını başlat gameMusic.play(); // Müzik başladığında, ses seviyesi ayarlama (isteğe bağlı) gameMusic.volume = 0.5; // 0.0 ile 1.0 arasında bir değer // Eğer müzik dosyasının bitişine dair işlem yapmak isterseniz: gameMusic.onended = () => { console.log("Music has finished playing."); }; }); Kodu ekle
/**** * Classes ****/ // Define a class for the down button var DownButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('downButton', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { if (player.y + 100 <= 2732) { player.y += 100; } }; }); // Define a class for enemies var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = Math.random() * 3 + 2; // Random speed between 2 and 5 self.update = function () { self.x -= self.speed; self.y += Math.sin(self.x / 100) * 10; // Sine wave pattern if (self.x < -50) { self.destroy(); LK.setScore(LK.getScore() - 5); // Deduct 5 points from the score scoreTxt.setText(LK.getScore()); // Update the score text display if (LK.getScore() < 5 && !gameOver) { LK.showGameOver(); // End the game if the score is less than 5 } } }; }); //<Assets used in the game will automatically appear here> // Define a 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.speed = 5; self.jumpHeight = 15; self.isJumping = false; self.velocityY = 0; self.update = function () { // Check if the player is outside the scene boundaries if (self.x <= 0 || self.x >= 2048 || self.y < 0 || self.y > 2732 || self.y <= 0) { LK.showGameOver(); // End the game if the player is out of bounds } if (self.isJumping) { self.y -= self.velocityY; self.velocityY -= gravity; if (self.velocityY <= 0 && self.y < 1366) { self.x += 7; // Move right by 7 units at peak } if (self.y >= 1366) { self.y = 1366; self.isJumping = false; self.velocityY = 0; } } self.x += self.speedX; if (self.isJumping) { self.y -= self.velocityY; self.velocityY -= gravity; if (self.y >= 1366) { self.y = 1366; self.isJumping = false; self.velocityY = 0; } } }; self.jump = function () { if (!self.isJumping && self.y > 0) { self.isJumping = true; self.velocityY = 20; // Set initial jump velocity self.speedX = 0; // Reset horizontal speed } }; }); // Define a class for the up button var UpButton = Container.expand(function () { var self = Container.call(this); var buttonGraphics = self.attachAsset('upButton', { anchorX: 0.5, anchorY: 0.5 }); self.down = function (x, y, obj) { player.jump(); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ // Variable to track game over state var gameOver = false; // Play background music when the game loads LK.playMusic('gameMusic', { volume: 0.5 }); // Variable to track power-up states var powerUpActive = false; var powerUpCooldown = false; // Function to spawn a super power-up function spawnSuperPowerUp() { if (powerUpActive || powerUpCooldown) { return; } // Create a new power-up asset var powerUp = LK.getAsset('powerUp', { anchorX: 0.5, anchorY: 0.5 }); // Random x position within the scene width var x = Math.random() * (2048 - 50); powerUp.x = x; powerUp.y = -60; // Start above the screen // Add power-up to the game scene game.addChild(powerUp); // Move the power-up downwards var fall = LK.setInterval(function () { powerUp.y += 4; powerUp.x += Math.sin(powerUp.y / 100) * 10; // Sine wave pattern // Remove power-up if it goes off-screen if (powerUp.y > 2732) { LK.clearInterval(fall); powerUp.destroy(); } // Check for collision with player if (player.intersects(powerUp)) { LK.clearInterval(fall); powerUp.destroy(); activateSuperPower(); } }, 16); } // Function to activate the super power function activateSuperPower() { if (powerUpActive) { return; } powerUpActive = true; powerUpCooldown = true; // Scale up the player player.scale.set(4); // Revert player scale after 30 seconds LK.setTimeout(function () { player.scale.set(1); powerUpActive = false; // Cooldown before another power-up can spawn LK.setTimeout(function () { powerUpCooldown = false; }, 60000); // Set to 1 minute if player collects the power-up }, 30000); } // Attempt to spawn a power-up every 40 seconds, ensuring only one is active at a time if (!powerUpActive && !powerUpCooldown) { LK.setTimeout(spawnSuperPowerUp, 40000); } // Array to hold spikes var spikes = []; // Function to create spikes function createSpikes() { var spikeHeight = 100; // Height of each spike var spikeWidth = 30; // Width of each spike var gap = 50; // Gap between spikes // Create fixed spikes on the left edge of the scene for (var y = 0; y < 2732; y += spikeHeight + gap) { var spike = LK.getAsset('spike', { anchorX: 0.5, anchorY: 0.5 }); // Spike starting position (fixed to the left edge) var startX = -spikeWidth; // Left edge var startY = y; // Arranged with gap between them spike.x = startX; spike.y = startY; // Add spikes to the game scene game.addChild(spike); // Add spike object to the array spikes.push(spike); } } // Create spikes (only run once) createSpikes(); var clouds = []; // Function to create a cloud function createCloud() { // Create a new cloud asset var cloud = LK.getAsset('cloud', { anchorX: 0.5, anchorY: 0.5 }); // Cloud starting position (from the right) var startX = 2048 + 100; // Cloud starts from the right var startY = Math.random() * 200; // Random height (upper part) cloud.x = startX; cloud.y = startY; // Add cloud to the game scene game.addChild(cloud); // Start moving the cloud moveCloud(cloud); // Add cloud object to the array clouds.push(cloud); } // Function to move the cloud to the left function moveCloud(cloud) { var speed = 1; // Cloud movement speed LK.setInterval(function () { // Cloud moves to the left cloud.x -= speed; // If the cloud reaches the left edge of the screen, remove it if (cloud.x < -100) { // When the cloud is completely off-screen cloud.destroy(); // Remove the cloud clouds.splice(clouds.indexOf(cloud), 1); // Remove from array } }, 16); // Update every 16ms for 60 FPS } // Create new clouds at intervals LK.setInterval(createCloud, 3000); // Add a new cloud every 3 seconds // Create and initialize the score text display var scoreTxt = new Text2('0', { size: 200, // Increased size fill: 0x000000 // Black color for the score text }); // Set the initial score text to zero scoreTxt.setText(LK.getScore()); // Center the score text horizontally at the top of the screen scoreTxt.anchor.set(0.5, 0); // Anchor at the center of the top edge // Add the score text to the GUI overlay at the top-center position LK.gui.top.addChild(scoreTxt); var gravity = 0.5; var windSpeed = 2; // Define wind speed for horizontal movement // Initialize player at the center of the screen var player = game.addChild(new Player()); player.x = 1024; player.y = 1366; player.speedX = 0; // Prevent movement on spawn player.speedY = 0; // Prevent movement on spawn player.isJumping = false; player.velocityY = 0; // Initialize up button var upButton = game.addChild(new UpButton()); upButton.x = 2048 / 2 - 500; // Middle point's x coordinate minus button width upButton.y = 2732 / 2 + 600; // Middle point's y coordinate plus button height plus additional 100 pixels // Add scaling effect to the up button when pressed and released upButton.down = function () { upButton.scale.set(0.9); // Scale down by 10% }; upButton.up = function () { upButton.scale.set(1); // Reset to original size }; upButton.move = function () { upButton.scale.set(1); // Reset to original size if mouse leaves }; // Initialize down button var downButton = game.addChild(new DownButton()); downButton.x = 2048 - 500 - 50; // Right edge minus button width and margin downButton.y = 2732 - 500 - 50; // Bottom edge minus button height and margin // Initialize enemies var enemies = []; var enemySpawnInterval = 200; var enemySpawnIncreaseInterval = 40000; // Increase spawn rate every 40 seconds var enemySpawnCounter = 0; // Variables to track button presses var isPressingUp = false; var isPressingDown = false; // Event listeners for button presses upButton.down = function () { isPressingUp = true; }; upButton.up = function () { isPressingUp = false; }; downButton.down = function () { isPressingDown = true; }; downButton.up = function () { isPressingDown = false; }; // Update player movement based on button presses function updatePlayerMovement() { if (isPressingUp) { player.velocityY = -10; player.x += 2; // Move right slowly by 2 units } // Removed upward movement when the down button is pressed player.y += player.velocityY; if (!isPressingUp && !isPressingDown) { player.velocityY += gravity; } if (player.y > 1366) { player.y = 1366; player.velocityY = 0; } if (player.y < 0) { player.y = 0; player.velocityY = 0; } } // Set interval for updating player movement LK.setInterval(updatePlayerMovement, 16); // Set interval to increase enemy spawn rate LK.setInterval(function () { if (enemySpawnInterval > 20) { // Ensure a minimum spawn interval enemySpawnInterval -= 10; // Decrease interval to increase spawn rate } }, enemySpawnIncreaseInterval); // Set interval for updating player movement LK.setInterval(function () { player.update(); }, 16); // Handle game updates game.update = function () { player.update(); player.x -= windSpeed; // Apply wind effect to move player left // Spawn enemies enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { var enemy = new Enemy(); enemy.x = 2048; // Spawn from the right edge of the screen enemy.y = Math.random() * (2732 / 2) + 100; // Random y position slightly lower from the top half of the screen enemies.push(enemy); game.addChild(enemy); enemySpawnCounter = 0; } // Update enemies for (var j = enemies.length - 1; j >= 0; j--) { enemies[j].update(); if (player.intersects(enemies[j])) { enemies[j].destroy(); // Remove enemy from the scene enemies.splice(j, 1); // Remove enemy from the array LK.setScore(LK.getScore() + 1); // Increase score by 1 scoreTxt.setText(LK.getScore()); // Update the score text display if (LK.getScore() % 20 === 0) { LK.effects.flashScreen(0x00FF00, 500); // Flash green on screen for 0.5 seconds } } } }; // Handle player jump game.down = function (x, y, obj) { player.jump(); };
/****
* Classes
****/
// Define a class for the down button
var DownButton = Container.expand(function () {
var self = Container.call(this);
var buttonGraphics = self.attachAsset('downButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.down = function (x, y, obj) {
if (player.y + 100 <= 2732) {
player.y += 100;
}
};
});
// Define a class for enemies
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = Math.random() * 3 + 2; // Random speed between 2 and 5
self.update = function () {
self.x -= self.speed;
self.y += Math.sin(self.x / 100) * 10; // Sine wave pattern
if (self.x < -50) {
self.destroy();
LK.setScore(LK.getScore() - 5); // Deduct 5 points from the score
scoreTxt.setText(LK.getScore()); // Update the score text display
if (LK.getScore() < 5 && !gameOver) {
LK.showGameOver(); // End the game if the score is less than 5
}
}
};
});
//<Assets used in the game will automatically appear here>
// Define a 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.speed = 5;
self.jumpHeight = 15;
self.isJumping = false;
self.velocityY = 0;
self.update = function () {
// Check if the player is outside the scene boundaries
if (self.x <= 0 || self.x >= 2048 || self.y < 0 || self.y > 2732 || self.y <= 0) {
LK.showGameOver(); // End the game if the player is out of bounds
}
if (self.isJumping) {
self.y -= self.velocityY;
self.velocityY -= gravity;
if (self.velocityY <= 0 && self.y < 1366) {
self.x += 7; // Move right by 7 units at peak
}
if (self.y >= 1366) {
self.y = 1366;
self.isJumping = false;
self.velocityY = 0;
}
}
self.x += self.speedX;
if (self.isJumping) {
self.y -= self.velocityY;
self.velocityY -= gravity;
if (self.y >= 1366) {
self.y = 1366;
self.isJumping = false;
self.velocityY = 0;
}
}
};
self.jump = function () {
if (!self.isJumping && self.y > 0) {
self.isJumping = true;
self.velocityY = 20; // Set initial jump velocity
self.speedX = 0; // Reset horizontal speed
}
};
});
// Define a class for the up button
var UpButton = Container.expand(function () {
var self = Container.call(this);
var buttonGraphics = self.attachAsset('upButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.down = function (x, y, obj) {
player.jump();
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Sky blue background
});
/****
* Game Code
****/
// Variable to track game over state
var gameOver = false;
// Play background music when the game loads
LK.playMusic('gameMusic', {
volume: 0.5
});
// Variable to track power-up states
var powerUpActive = false;
var powerUpCooldown = false;
// Function to spawn a super power-up
function spawnSuperPowerUp() {
if (powerUpActive || powerUpCooldown) {
return;
}
// Create a new power-up asset
var powerUp = LK.getAsset('powerUp', {
anchorX: 0.5,
anchorY: 0.5
});
// Random x position within the scene width
var x = Math.random() * (2048 - 50);
powerUp.x = x;
powerUp.y = -60; // Start above the screen
// Add power-up to the game scene
game.addChild(powerUp);
// Move the power-up downwards
var fall = LK.setInterval(function () {
powerUp.y += 4;
powerUp.x += Math.sin(powerUp.y / 100) * 10; // Sine wave pattern
// Remove power-up if it goes off-screen
if (powerUp.y > 2732) {
LK.clearInterval(fall);
powerUp.destroy();
}
// Check for collision with player
if (player.intersects(powerUp)) {
LK.clearInterval(fall);
powerUp.destroy();
activateSuperPower();
}
}, 16);
}
// Function to activate the super power
function activateSuperPower() {
if (powerUpActive) {
return;
}
powerUpActive = true;
powerUpCooldown = true;
// Scale up the player
player.scale.set(4);
// Revert player scale after 30 seconds
LK.setTimeout(function () {
player.scale.set(1);
powerUpActive = false;
// Cooldown before another power-up can spawn
LK.setTimeout(function () {
powerUpCooldown = false;
}, 60000); // Set to 1 minute if player collects the power-up
}, 30000);
}
// Attempt to spawn a power-up every 40 seconds, ensuring only one is active at a time
if (!powerUpActive && !powerUpCooldown) {
LK.setTimeout(spawnSuperPowerUp, 40000);
}
// Array to hold spikes
var spikes = [];
// Function to create spikes
function createSpikes() {
var spikeHeight = 100; // Height of each spike
var spikeWidth = 30; // Width of each spike
var gap = 50; // Gap between spikes
// Create fixed spikes on the left edge of the scene
for (var y = 0; y < 2732; y += spikeHeight + gap) {
var spike = LK.getAsset('spike', {
anchorX: 0.5,
anchorY: 0.5
});
// Spike starting position (fixed to the left edge)
var startX = -spikeWidth; // Left edge
var startY = y; // Arranged with gap between them
spike.x = startX;
spike.y = startY;
// Add spikes to the game scene
game.addChild(spike);
// Add spike object to the array
spikes.push(spike);
}
}
// Create spikes (only run once)
createSpikes();
var clouds = [];
// Function to create a cloud
function createCloud() {
// Create a new cloud asset
var cloud = LK.getAsset('cloud', {
anchorX: 0.5,
anchorY: 0.5
});
// Cloud starting position (from the right)
var startX = 2048 + 100; // Cloud starts from the right
var startY = Math.random() * 200; // Random height (upper part)
cloud.x = startX;
cloud.y = startY;
// Add cloud to the game scene
game.addChild(cloud);
// Start moving the cloud
moveCloud(cloud);
// Add cloud object to the array
clouds.push(cloud);
}
// Function to move the cloud to the left
function moveCloud(cloud) {
var speed = 1; // Cloud movement speed
LK.setInterval(function () {
// Cloud moves to the left
cloud.x -= speed;
// If the cloud reaches the left edge of the screen, remove it
if (cloud.x < -100) {
// When the cloud is completely off-screen
cloud.destroy(); // Remove the cloud
clouds.splice(clouds.indexOf(cloud), 1); // Remove from array
}
}, 16); // Update every 16ms for 60 FPS
}
// Create new clouds at intervals
LK.setInterval(createCloud, 3000); // Add a new cloud every 3 seconds
// Create and initialize the score text display
var scoreTxt = new Text2('0', {
size: 200,
// Increased size
fill: 0x000000 // Black color for the score text
});
// Set the initial score text to zero
scoreTxt.setText(LK.getScore());
// Center the score text horizontally at the top of the screen
scoreTxt.anchor.set(0.5, 0); // Anchor at the center of the top edge
// Add the score text to the GUI overlay at the top-center position
LK.gui.top.addChild(scoreTxt);
var gravity = 0.5;
var windSpeed = 2; // Define wind speed for horizontal movement
// Initialize player at the center of the screen
var player = game.addChild(new Player());
player.x = 1024;
player.y = 1366;
player.speedX = 0; // Prevent movement on spawn
player.speedY = 0; // Prevent movement on spawn
player.isJumping = false;
player.velocityY = 0;
// Initialize up button
var upButton = game.addChild(new UpButton());
upButton.x = 2048 / 2 - 500; // Middle point's x coordinate minus button width
upButton.y = 2732 / 2 + 600; // Middle point's y coordinate plus button height plus additional 100 pixels
// Add scaling effect to the up button when pressed and released
upButton.down = function () {
upButton.scale.set(0.9); // Scale down by 10%
};
upButton.up = function () {
upButton.scale.set(1); // Reset to original size
};
upButton.move = function () {
upButton.scale.set(1); // Reset to original size if mouse leaves
};
// Initialize down button
var downButton = game.addChild(new DownButton());
downButton.x = 2048 - 500 - 50; // Right edge minus button width and margin
downButton.y = 2732 - 500 - 50; // Bottom edge minus button height and margin
// Initialize enemies
var enemies = [];
var enemySpawnInterval = 200;
var enemySpawnIncreaseInterval = 40000; // Increase spawn rate every 40 seconds
var enemySpawnCounter = 0;
// Variables to track button presses
var isPressingUp = false;
var isPressingDown = false;
// Event listeners for button presses
upButton.down = function () {
isPressingUp = true;
};
upButton.up = function () {
isPressingUp = false;
};
downButton.down = function () {
isPressingDown = true;
};
downButton.up = function () {
isPressingDown = false;
};
// Update player movement based on button presses
function updatePlayerMovement() {
if (isPressingUp) {
player.velocityY = -10;
player.x += 2; // Move right slowly by 2 units
}
// Removed upward movement when the down button is pressed
player.y += player.velocityY;
if (!isPressingUp && !isPressingDown) {
player.velocityY += gravity;
}
if (player.y > 1366) {
player.y = 1366;
player.velocityY = 0;
}
if (player.y < 0) {
player.y = 0;
player.velocityY = 0;
}
}
// Set interval for updating player movement
LK.setInterval(updatePlayerMovement, 16);
// Set interval to increase enemy spawn rate
LK.setInterval(function () {
if (enemySpawnInterval > 20) {
// Ensure a minimum spawn interval
enemySpawnInterval -= 10; // Decrease interval to increase spawn rate
}
}, enemySpawnIncreaseInterval);
// Set interval for updating player movement
LK.setInterval(function () {
player.update();
}, 16);
// Handle game updates
game.update = function () {
player.update();
player.x -= windSpeed; // Apply wind effect to move player left
// Spawn enemies
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
var enemy = new Enemy();
enemy.x = 2048; // Spawn from the right edge of the screen
enemy.y = Math.random() * (2732 / 2) + 100; // Random y position slightly lower from the top half of the screen
enemies.push(enemy);
game.addChild(enemy);
enemySpawnCounter = 0;
}
// Update enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].update();
if (player.intersects(enemies[j])) {
enemies[j].destroy(); // Remove enemy from the scene
enemies.splice(j, 1); // Remove enemy from the array
LK.setScore(LK.getScore() + 1); // Increase score by 1
scoreTxt.setText(LK.getScore()); // Update the score text display
if (LK.getScore() % 20 === 0) {
LK.effects.flashScreen(0x00FF00, 500); // Flash green on screen for 0.5 seconds
}
}
}
};
// Handle player jump
game.down = function (x, y, obj) {
player.jump();
};