User prompt
tüm zombiler birbirinden ayrı olsun
User prompt
gittikçe zombi sayısı artsın
User prompt
bütün zombiler tek bir mermiye ölsün
User prompt
oyun seslerini etkinleştir
User prompt
geri al
User prompt
kahramanımız daha hassas olsun
User prompt
kahramanımız daha akıcı hareket etsin
User prompt
kahramanımız x ekseninde biraz azıcık hızlı hareket etsin
User prompt
kahramanımız x ekseninde daha yavaş hareket etsin
User prompt
kahramanımız x ekseninde yavaş hareket etsin
User prompt
arka plan ekle
User prompt
ekranın kenarlarından dışarı çıkmasın kutular
User prompt
kırmızı kutu ekrandan kaybolursa oyun bitsin
User prompt
her bir kırmızı kutunun tek canı olsun ve her 100 puanda kırmızı kutular hızlansın
User prompt
mor kutu ekranın aşağısında olsun ve sadece x eskeninde hareket yapsın
User prompt
her bir kırmızı kutu 5 puan olsun ve 300 puan sonra kırmızı kutular hızlansın
User prompt
mor kutu daha yavaş ateş etsin
User prompt
mor kutu kırmızılara ateş etsin
User prompt
karakter daha yavaş mermi atsın
User prompt
mapin sağ üstüne puan ekle
User prompt
karakterimize zombi değince oyun bitsin
User prompt
zombiler sadece yukarıdan aşağıya karışık bir şekilde insin
User prompt
zombiler yukarıdan aşağıya insin rastgele bir şekilde ve her zombiyi öldürdüğümüzde 5 puan kazanalım 100 puana ulaşınca zombiler 2 vuruşta ölsün 200 puana ulaşınca 3 vuruşta ölsün
User prompt
zombiler rastgele çıksın
Initial prompt
Zombi War
/**** * Classes ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Hero class representing the player character var Hero = Container.expand(function () { var self = Container.call(this); var heroGraphics = self.attachAsset('hero', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { // Update logic for hero }; }); // Bullet class for hero's bullets var HeroBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -15; self.update = function () { self.y += self.speed; }; }); // Zombie class representing enemy characters var Zombie = Container.expand(function () { var self = Container.call(this); var zombieGraphics = self.attachAsset('zombie', { anchorX: 0.5, anchorY: 0.5 }); self.health = 1; self.speed = 5; self.update = function () { // Update logic for zombie self.y += self.speed; self.x = Math.max(0 + self.width / 2, Math.min(2048 - self.width / 2, self.x)); // Check if zombie is hit by a bullet for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; if (bullet.intersects(self)) { // Destroy bullet bullet.destroy(); bullets.splice(i, 1); // Increase score by 5 LK.setScore(LK.getScore() + 5); // Update score display scoreText.setText(LK.getScore()); // Destroy zombie self.destroy(); zombies.splice(zombies.indexOf(self), 1); break; } } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Play background music LK.playMusic('Zombi'); var background = game.attachAsset('background', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 }); // Initialize hero var hero = game.addChild(new Hero()); hero.x = 2048 / 2; hero.y = 2732 - 100; // Array to keep track of zombies var zombies = []; // Array to keep track of bullets var bullets = []; // Create score text and add it to the top right of the screen var scoreText = new Text2('0', { size: 100, fill: 0xFFFFFF }); scoreText.anchor.set(1, 0); // Anchor to the top right LK.gui.topRight.addChild(scoreText); // Function to spawn a new zombie function spawnZombie() { var zombie = new Zombie(); do { zombie.x = Math.random() * 2048; } while (zombies.some(function (otherZombie) { return Math.abs(zombie.x - otherZombie.x) < zombie.width; })); zombie.y = -50; zombies.push(zombie); game.addChild(zombie); // Set zombie health based on score if (LK.getScore() >= 200) { zombie.health = 3; } else if (LK.getScore() >= 100) { zombie.health = 2; } else { zombie.health = 1; } } // Function to handle shooting var lastShotTime = 0; var shootInterval = 30; // Adjust this value to control shooting frequency function shootBullet() { if (LK.ticks - lastShotTime >= shootInterval) { var bullet = new HeroBullet(); bullet.x = hero.x; bullet.y = hero.y; bullets.push(bullet); game.addChild(bullet); lastShotTime = LK.ticks; // Play shooting sound LK.getSound('Mermi').play(); } } // Game update loop game.update = function () { // Update hero hero.update(); // Update zombies for (var i = zombies.length - 1; i >= 0; i--) { var zombie = zombies[i]; // Increase zombie speed every 100 points if (LK.getScore() >= 300) { zombie.speed = 10; // Increase speed } else if (LK.getScore() >= 200) { zombie.speed = 8; // Increase speed } else if (LK.getScore() >= 100) { zombie.speed = 6; // Increase speed } else { zombie.speed = 5; // Default speed } zombie.update(); if (zombie.y > 2732) { // End the game if a zombie goes off the screen LK.showGameOver(); break; } } // Update bullets for (var j = bullets.length - 1; j >= 0; j--) { var bullet = bullets[j]; bullet.update(); if (bullet.y < 0) { bullet.destroy(); bullets.splice(j, 1); } } // Check for collisions between bullets and zombies for (var k = bullets.length - 1; k >= 0; k--) { var bullet = bullets[k]; for (var l = zombies.length - 1; l >= 0; l--) { var zombie = zombies[l]; if (bullet.intersects(zombie)) { bullet.destroy(); bullets.splice(k, 1); zombie.destroy(); zombies.splice(l, 1); break; } } } // Check for collisions between hero and zombies for (var m = zombies.length - 1; m >= 0; m--) { var zombie = zombies[m]; if (hero.intersects(zombie)) { // End the game if the hero collides with a zombie LK.showGameOver(); break; } } // Spawn new zombies periodically if (LK.ticks % 60 === 0) { var zombieCount = 1; if (LK.getScore() >= 300) { zombieCount = 4; } else if (LK.getScore() >= 200) { zombieCount = 3; } else if (LK.getScore() >= 100) { zombieCount = 2; } for (var i = 0; i < zombieCount; i++) { spawnZombie(); } } }; // Handle touch events for moving the hero game.down = function (x, y, obj) { hero.x = x; }; game.move = function (x, y, obj) { hero.x = Math.max(0 + hero.width / 2, Math.min(2048 - hero.width / 2, x)); }; // Handle shooting on touch release game.up = function (x, y, obj) { shootBullet(); };
===================================================================
--- original.js
+++ change.js
@@ -95,9 +95,13 @@
LK.gui.topRight.addChild(scoreText);
// Function to spawn a new zombie
function spawnZombie() {
var zombie = new Zombie();
- zombie.x = Math.random() * 2048;
+ do {
+ zombie.x = Math.random() * 2048;
+ } while (zombies.some(function (otherZombie) {
+ return Math.abs(zombie.x - otherZombie.x) < zombie.width;
+ }));
zombie.y = -50;
zombies.push(zombie);
game.addChild(zombie);
// Set zombie health based on score