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 = 10; 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; // 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)) { // Reduce health by 1 self.health -= 1; // Destroy bullet bullet.destroy(); bullets.splice(i, 1); // Check if zombie is dead if (self.health <= 0) { // 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 ****/ // Initialize hero var hero = game.addChild(new Hero()); hero.x = 2048 / 2; hero.y = 2732 - 200; // 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(); zombie.x = Math.random() * 2048; 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 function shootBullet() { var bullet = new HeroBullet(); bullet.x = hero.x; bullet.y = hero.y; bullets.push(bullet); game.addChild(bullet); } // 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]; zombie.update(); if (zombie.y > 2732) { zombie.destroy(); zombies.splice(i, 1); } } // 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) { spawnZombie(); } }; // Handle touch events for moving the hero game.down = function (x, y, obj) { hero.x = x; hero.y = y; }; game.move = function (x, y, obj) { hero.x = x; hero.y = y; }; // Handle shooting on touch release game.up = function (x, y, obj) { shootBullet(); };
===================================================================
--- original.js
+++ change.js
@@ -51,8 +51,10 @@
// Check if zombie is dead
if (self.health <= 0) {
// 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);
}
@@ -79,8 +81,15 @@
// 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();
zombie.x = Math.random() * 2048;