User prompt
Puan 5 olduğunda 'srk' oynatmaya başla
User prompt
Başladığında bir saniyede 3 hamle yaptır otomatik
User prompt
En fazla 4 tane oyuncu resmi oluşturulur
User prompt
Play music
User prompt
'______________________________________________________.mp3' oyun başlayınca otomatik oynat
User prompt
Skor yazılı resimleri kaldır
User prompt
'srk' müzik dosyasını karakterimiz hareket edince başlat
User prompt
Oyun başladığında 'srk' mizik dosyasını başlat
User prompt
Arkaplan sonsuz döngü şeklinde sola doğru kayıp sağdan tekrar devam etsin
User prompt
İlk 4 hamle
User prompt
İlk 5 hamle
User prompt
İlk 2 hamle 1 saniye içinde otomatik şekilde hapılsın
User prompt
Düşmanlarımızın her bir dakikada bir sayısı artsın
User prompt
Düşmanlarımız 50 puandan sonra iki katına çıksın
User prompt
Karakterimiz sahnenin sağ uzun kenarına kadar hamle yapabilir
User prompt
Karakterimiz sahnenin sağ kenarına kadar ilerleyebilir ama dışına çıkamaz
User prompt
Karakterimizi saniyede 14 birim sola çekilir
User prompt
Karakterimiz sahnenin sağ kenarına kadar ilerleyebilir
User prompt
Rastgele noktalarda eşit yoğunlukta
User prompt
'yaprak' resimleri daha çok orta noktada spawn olsunlar
User prompt
'cicek' resmi oluştuğunda artı 5 puqn
User prompt
Daha az sayıda
User prompt
Farklı hızlarda
User prompt
Sallansınlar
User prompt
Rastgele noktalarda 'yaprak' resmini koy ve bu resimler aşağıya doğru hareket etsinler
/****
* Classes
****/
// Initialize storage object
// 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 = 5;
self.update = function () {
self.x -= self.speed;
self.y += Math.sin(self.x / 100) * 10;
if (self.x < -50) {
self.destroy();
}
// Check for intersection with Oyuncu and remove it if detected within a reduced range
game.children.forEach(function (child) {
if (child instanceof Oyuncu && self.intersects(child) && Math.abs(self.x - child.x) < 30 && Math.abs(self.y - child.y) < 30) {
child.destroy();
}
});
};
});
var Leaf = Container.expand(function () {
var self = Container.call(this);
var leafGraphics = self.attachAsset('yaprak', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 2 + Math.random() * 3; // Random speed between 2 and 5
self.update = function () {
self.y += self.speed;
self.speed = 2 + Math.random() * 3; // Random speed between 2 and 5
self.x += Math.sin(LK.ticks / 20) * 2; // Add swaying motion
if (self.y > 2732) {
self.destroy();
}
};
});
// Define a class for the Oyuncu character
var Oyuncu = Container.expand(function () {
var self = Container.call(this);
var oyuncuGraphics = self.attachAsset('Oyuncu', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 7;
self.jumpHeight = 20;
self.isJumping = false;
self.velocityY = 0;
self.update = function () {
if (self.isJumping) {
self.y += self.velocityY;
self.velocityY += 0.7;
if (self.y >= 2732 / 2) {
self.y = 2732 / 2;
self.isJumping = false;
self.velocityY = 0;
}
}
// Maintain a 10-unit distance from the player
if (Math.abs(self.x - player.x) > 10) {
self.x += (player.x > self.x ? 1 : -1) * self.speed;
} else if (Math.abs(self.x - player.x) < 10) {
self.x = player.x + (player.x > self.x ? -10 : 10);
}
if (Math.abs(self.y - player.y) > 10) {
self.y += (player.y > self.y ? 1 : -1) * self.speed;
} else if (Math.abs(self.y - player.y) < 10) {
self.y = player.y + (player.y > self.y ? -10 : 10);
}
};
self.jump = function () {
self.isJumping = true;
self.velocityY = -self.jumpHeight;
};
});
//<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 = 20;
self.isJumping = false;
self.velocityY = 0;
self.update = function () {
// Move the player 10 units to the left every second
if (LK.ticks % 60 === 0) {
// 60 ticks per second
self.x -= 10;
}
if (self.isJumping) {
self.y += self.velocityY;
self.velocityY += 0.7; // Decreased gravity effect by 30%
if (self.y >= 2732 / 2) {
// Ground level
self.y = 2732 / 2;
self.isJumping = false;
self.velocityY = 0;
}
}
// Move the player diagonally to the middle of the stage in the first move
if (self.x < 2048 / 2 && self.y < 2732 / 2) {
self.x += self.speed;
self.y += self.speed;
LK.getSound('arkplan').play(); // Play background sound when moving
} else if (!self.isJumping) {
if (self.x > 30 && self.x <= 2048 - self.width) {
self.x -= 4;
}
}
// End the game if the player touches the edges of the background
if (self.x <= 0 || self.x >= 2048 - self.width || self.y <= 0 || self.y >= 2732 - self.height) {
LK.effects.flashScreen(0xff0000, 1000); // Flash screen red
LK.showGameOver(); // Show game over screen
return; // End the game
}
};
self.jump = function () {
self.isJumping = true;
self.velocityY = -self.jumpHeight;
LK.getSound('Player').play();
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 // Black background
});
/****
* Game Code
****/
// Initialize background
var storage = {};
var background = game.addChild(LK.getAsset('arkplan', {
anchorX: 0.0,
anchorY: 0.0,
scaleX: 2048 / 100,
scaleY: 2732 / 100,
x: 0,
y: 0
}));
// Initialize player
var player = game.addChild(new Player());
player.x = 200;
player.y = 2732 - player.height - 150;
// Automatically make the first four moves within two seconds of game start
LK.setTimeout(function () {
player.jump(); // First move
LK.setTimeout(function () {
player.jump(); // Second move
LK.setTimeout(function () {
player.jump(); // Third move
LK.setTimeout(function () {
player.jump(); // Fourth move
}, 500); // Fourth move after 0.5 seconds
}, 500); // Third move after 0.5 seconds
}, 500); // Second move after 0.5 seconds
}, 500); // First move after 0.5 seconds
// Initialize enemies
var enemies = [];
var enemySpawnInterval = 100;
var enemySpawnCounter = 0;
// Import storage plugin
// Load score from storage or initialize to 0
var currentScore = storage.score || 0;
// Create a new Text2 object to display the score
var scoreText = new Text2(currentScore.toString(), {
size: 250,
fill: 0xFFFFFF,
font: "bold"
});
// Add the score text to the game GUI at the top-right corner of the screen
LK.gui.topRight.addChild(scoreText);
scoreText.anchor.set(1, 0); // Anchor to the top-right corner
scoreText.x = 0; // Positioned at the right edge
scoreText.y = 0; // Positioned at the top edge
// Handle game updates
game.update = function () {
player.update();
// Increase the number of enemies every minute
if (LK.ticks % 3600 === 0) {
// 60 ticks per second * 60 seconds = 3600 ticks per minute
var additionalEnemy = new Enemy();
additionalEnemy.x = 2048;
additionalEnemy.y = Math.random() * (2732 / 2);
enemies.push(additionalEnemy);
game.addChild(additionalEnemy);
}
// Spawn leaves
if (LK.ticks % 120 === 0) {
// Every second
var leaf = new Leaf();
leaf.x = Math.random() * 2048; // Random x position across the screen
leaf.y = -50; // Start above the screen
game.addChild(leaf);
}
// Spawn enemies
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
var enemy = new Enemy();
enemy.x = 2048;
enemy.y = Math.random() * (2732 / 2);
enemies.push(enemy);
game.addChild(enemy);
// Decrease the spawn interval for the next enemy every 10 seconds
if (LK.ticks % 600 == 0 && enemySpawnInterval > 10) {
enemySpawnInterval -= 10;
}
enemySpawnCounter = 0;
}
// Update enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].update();
if (player.intersects(enemies[j]) && Math.abs(player.x - enemies[j].x) < 50 && Math.abs(player.y - enemies[j].y) < 50) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
return;
} else if (player.x > enemies[j].x && !enemies[j].passed) {
enemies[j].passed = true;
LK.setScore(LK.getScore() + 1);
var currentScore = LK.getScore();
storage.score = currentScore; // Save score to storage
scoreText.setText(currentScore.toString()); // Update the score text display
var scoreAssetId = 'Skor' + currentScore;
if (currentScore % 9 === 0) {
var cicekAsset = game.addChild(LK.getAsset('cicek', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 2732 / 2
}));
LK.setScore(LK.getScore() + 5); // Add 5 points to the score
scoreText.setText(LK.getScore().toString()); // Update the score text display
LK.setTimeout(function () {
cicekAsset.destroy();
}, 1000);
// Add 'oyuncu' image to the bottom-left corner
var oyuncu = game.addChild(new Oyuncu());
oyuncu.x = player.x + 10;
oyuncu.y = player.y;
}
// Removed score reset logic to ensure the scoreboard does not reset to zero
if (currentScore <= 9) {
game.children.forEach(function (child) {
if (child.assetId && child.assetId.startsWith('Skor')) {
child.destroy();
}
});
var scoreAsset = game.addChild(LK.getAsset(scoreAssetId, {
anchorX: 0.5,
anchorY: 1.0,
x: 2048 / 2,
y: 2732
}));
LK.setTimeout(function () {
scoreAsset.destroy();
}, 1000);
} else {
scoreText.setText(currentScore);
}
}
}
};
// Handle player jump
game.down = function (x, y, obj) {
player.jump();
}; ===================================================================
--- original.js
+++ change.js
@@ -153,20 +153,17 @@
// Initialize player
var player = game.addChild(new Player());
player.x = 200;
player.y = 2732 - player.height - 150;
-// Automatically make the first five moves within two and a half seconds of game start
+// Automatically make the first four moves within two seconds of game start
LK.setTimeout(function () {
player.jump(); // First move
LK.setTimeout(function () {
player.jump(); // Second move
LK.setTimeout(function () {
player.jump(); // Third move
LK.setTimeout(function () {
player.jump(); // Fourth move
- LK.setTimeout(function () {
- player.jump(); // Fifth move
- }, 500); // Fifth move after 0.5 seconds
}, 500); // Fourth move after 0.5 seconds
}, 500); // Third move after 0.5 seconds
}, 500); // Second move after 0.5 seconds
}, 500); // First move after 0.5 seconds