User prompt
Oyuncuya hasar aldığında bir hasar alma animasyonu ekle. Düşmanlara da öldüklerinde hafif bir yok olma animasyonu ekle. Ayrıca, oyuncu bir güçlendirme aldığında, karaktere hafif bir büyüyüp küçülme animasyonu ekle. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Speed değeri 10 olduktan sonra artmasın ve bu noktadan sonra Speed güçlendirmesi artık düşmesin. Ayrıca, düşmanlar en alt çizgiye gelirlerse oyuncu hasar alsın.
User prompt
Please fix the bug: 'ReferenceError: AttackSpeedUpgrade is not defined' in or related to this line: 'var attackUpgrade = new AttackSpeedUpgrade();' Line Number: 418
User prompt
Normal düşmanların boyutunu ve her 2 dakikada bir gelen güçlü düşmanın boyutunu artır. Ayrıca, her özellik için güçlendirmeleri ayır ve her birinin farklı renkte güçlendirmesi olsun: Damage güçlendirmesi sarı, Speed mavi, Multishot bordo, Fire Rate turuncu olsun. Fire Rate 8'e ulaştıktan sonra artık bu güçlendirme düşmesin.
User prompt
Bazen güçlendirme aldığımda hasarımda bir anda çok fazla artış gözlemliyorum, bunu istemiyorum. Hasar artışı bir bir olsun.
User prompt
Düşmanların her 30 saniyede bir canlarının 10 artması kalsın, ama buna ek olarak her 1 dakikada bir canlarının ayrıca 20 artmasını istiyorum. Ayrıca, her 2 dakikada bir aşırı yüksek cana sahip bir düşman eklensin; bu düşmanın başlangıç canı 250 olsun ve her gelişinde (her 2 dakikada bir) +250 can eklenerek gelsin.
User prompt
Skor sürekli artmasın biz düşman öldürünce artsın istiyorum ve distance kaldır
User prompt
Düşmanlar çok kenarlara yaklaşmasınlar 25 piksel sınır koymanı istiyorum sınırlara hem güçlendirmeler için hemde düşmanlar için
User prompt
Güçlendirmeler aşağı doğru çok yavaş geliyor onların hızını 2 katına çıkar
User prompt
Güçlendirmeler çok yavaş düşüyor onları hızlandır
User prompt
Saldırı hızımın üst değeri 8 olsun ve 8'e ulaştıktan sonra artık hiç artmasın. Ayrıca, düşmanların güçlenme aralığını 30 saniyede bir olacak şekilde değiştirmeni istiyorum.
User prompt
Saldırı hızı değerim azaldıkça saldırı hızım artıyor; ben bunu istemiyorum. Saldırı hızım 1 olarak başlasın ve her bir tane aldığımda bir artsın; yani saldırı hızım gerçekten artsın istiyorum.
User prompt
Saldırı hızım azaldıkça değil, arttıkça hızlansın. Ayrıca, Multishot 5'e ulaştıktan sonra 6. kez Multishot güçlendirmesi alındığında, mermi sayısı 1'e düşsün ama hasara +3 eklensin şeklinde ayarla.
User prompt
Güçlendirme düşme olasılıkları şöyle olsun: Multishot %10, Speed %20, Damage %20, Fire Rate %25. Ekstra can güçlendirmesi de eklensin, bu yeşil olsun ve düşme oranı %5 olsun.
User prompt
Düşmanlardan düşen güçlendirme olasılığını düşür ve her 1 dakikada bir güçlenen düşmanların can miktarını on on artır.
User prompt
Güçlendirmeleri, düşmanlar öldükten sonra belli bir oranda düşecek şekilde ayarla. Ayrıca, her 1 dakikada bir düşmanların canı artsın. Canavarlardan düşen güçlendirmelerin yanında, çok daha nadir bir şekilde güçlendirmelerin normal yolla da gelmesini istiyorum. Güçlendirmeler rastgele bir değer vermek yerine, belli oranlarla artış sağlasın. Aldığım her güçlendirmenin etkisi kalıcı olsun ve beni yavaş yavaş güçlendirsin.
User prompt
Orta çizgiyi kaldırmanı istiyorum ve düşmanlarla güçlendirmelerin aynı yerden, karışık olarak gelmesini istiyorum. Bir de, sahip olduğum güçlendirmelerin görünmesi için, sağda canımın göründüğü yere sahip olduğum güçlendirmeleri de ekle. Ayrıca, gelen güçlendirmelerin miktarını azalt.
User prompt
Tamam, şimdi gelen düşmanları ve gelen güçlendirme özelliklerini geldikleri tarafların ortasında yapma. Mesela, sol taraftan gelen düşmanlar sol tarafın içinde kalmak şartıyla herhangi bir yerinden gelsin. Aynı şey güçlendirmeler için de geçerli olsun.
User prompt
Saldırı hızı azalt ve saldırı hızını artıran eklentiler ekle (mor olsun). Ayrıca, düşmanların can seviyeleri üstlerinde gösterilsin.
User prompt
Tamam, şimdi karakterimizin ateş etmesini sağla ve gelen düşmanların sağlıkları olsun. Sağ taraftaki geliştirmelere ise ateş özellikleri ekle; örneğin daha fazla mermi ateş etmesi, daha hızlı ateş etmesi gibi özellikler ekle. Ayrıca karakterin sadece sola ve sağa gitmesini ayarlama, serbest bir şekilde geçiş yapma imkânı sağla. Karakteri ben kendim sürüklemek istiyorum.
Code edit (1 edits merged)
Please save this source code
User prompt
Corridor Runner
Initial prompt
Uzun bir koridor olsun ve bu koridorda 2 farklı yol bulunsun; sağ ve sol olarak ikiye ayrılmış olsun. Bu koridorların arasında ince bir duvar bulunsun. Soldaki koridordan sürekli düşman gelsin, sağdaki koridordan ise karakterimizi geliştirme özellikleri gelsin.
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var AttackSpeedUpgrade = Container.expand(function () { var self = Container.call(this); var upgradeGraphics = self.attachAsset('attackSpeedUpgrade', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 6; self.lastY = 0; self.update = function () { self.y += self.speed; self.rotation += 0.03; }; return self; }); var Bullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 15; self.damage = 1; self.lastY = 0; self.update = function () { self.y -= self.speed; }; return self; }); var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 4; self.health = 3; self.maxHealth = 3; self.lastY = 0; self.healthText = new Text2(self.health.toString(), { size: 30, fill: 0xFFFFFF }); self.healthText.anchor.set(0.5, 0.5); self.healthText.x = 0; self.healthText.y = -40; self.addChild(self.healthText); self.takeDamage = function (damage) { self.health -= damage; self.healthText.setText(self.health.toString()); LK.effects.flashObject(self, 0xFFFFFF, 200); if (self.health <= 0) { return true; // Enemy is dead } return false; }; self.update = function () { self.y += self.speed; }; return self; }); var HealthUpgrade = Container.expand(function () { var self = Container.call(this); var upgradeGraphics = self.attachAsset('healthUpgrade', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 6; self.lastY = 0; self.update = function () { self.y += self.speed; self.rotation += 0.03; }; return self; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.health = 3; self.maxHealth = 3; self.speed = 5; self.fireRate = 1; // Start at 1 and increment up self.bulletDamage = 1; self.multiShot = 1; // Number of bullets per shot self.lastShot = 0; self.shoot = function () { if (LK.ticks - self.lastShot >= Math.floor(60 / self.fireRate)) { self.lastShot = LK.ticks; LK.getSound('shoot').play(); for (var i = 0; i < self.multiShot; i++) { var bullet = new Bullet(); bullet.x = self.x + (i - (self.multiShot - 1) / 2) * 20; bullet.y = self.y - 40; bullet.damage = self.bulletDamage; bullet.lastY = bullet.y; bullets.push(bullet); game.addChild(bullet); } } }; self.upgradeFireRate = function () { if (self.fireRate < 8) { self.fireRate += 1; } }; self.upgradeDamage = function () { self.bulletDamage = Math.floor(self.bulletDamage * 1.2) + 1; }; self.upgradeMultiShot = function () { if (self.multiShot >= 5) { // Reset multishot to 1 and add 3 damage self.multiShot = 1; self.bulletDamage += 3; } else { self.multiShot += 1; } }; self.takeDamage = function () { self.health--; LK.effects.flashObject(self, 0xFF0000, 500); LK.getSound('damage').play(); if (self.health <= 0) { LK.showGameOver(); } }; self.heal = function () { if (self.health < self.maxHealth) { self.health++; } }; self.upgradeSpeed = function () { self.speed = Math.min(Math.floor(self.speed * 1.15) + 1, 15); }; return self; }); var PowerUp = Container.expand(function () { var self = Container.call(this); var powerupGraphics = self.attachAsset('powerup', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 6; self.lastY = 0; self.type = 'health'; // 'health', 'speed', 'score' self.update = function () { self.y += self.speed; self.rotation += 0.05; }; return self; }); var Upgrade = Container.expand(function () { var self = Container.call(this); var upgradeGraphics = self.attachAsset('upgrade', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 6; self.lastY = 0; self.type = 'speed'; // 'speed', 'health', 'firerate', 'damage', 'multishot' self.update = function () { self.y += self.speed; self.rotation += 0.03; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x1a1a1a }); /**** * Game Code ****/ // Game dimensions and layout - no lanes, full width spawning var gameWidth = 2048; // Create player var player = game.addChild(new Player()); player.x = gameWidth / 2; player.y = 2732 - 200; // Game arrays var enemies = []; var powerups = []; var upgrades = []; var bullets = []; var attackSpeedUpgrades = []; var healthUpgrades = []; // Dragging variables var isDragging = false; var dragOffset = { x: 0, y: 0 }; // Game variables var gameSpeed = 1; var enemySpawnRate = 120; var powerupSpawnRate = 180; var upgradeSpawnRate = 300; // UI Elements var scoreText = new Text2('Score: 0', { size: 60, fill: 0xFFFFFF }); scoreText.anchor.set(0, 0); scoreText.x = 50; scoreText.y = 50; LK.gui.topLeft.addChild(scoreText); var healthText = new Text2('Health: 3', { size: 60, fill: 0xFF0000 }); healthText.anchor.set(1, 0); LK.gui.topRight.addChild(healthText); // Player upgrades display var upgradesText = new Text2('Upgrades:\nDamage: 1\nSpeed: 5\nMultiShot: 1\nFireRate: 30', { size: 40, fill: 0x00FFFF }); upgradesText.anchor.set(1, 0); upgradesText.x = -10; upgradesText.y = 80; LK.gui.topRight.addChild(upgradesText); // Input handling - drag mechanics game.down = function (x, y, obj) { isDragging = true; dragOffset.x = x - player.x; dragOffset.y = y - player.y; }; game.move = function (x, y, obj) { if (isDragging) { player.x = Math.max(50, Math.min(2048 - 50, x - dragOffset.x)); player.y = Math.max(50, Math.min(2732 - 50, y - dragOffset.y)); } }; game.up = function (x, y, obj) { isDragging = false; }; // Main game loop game.update = function () { // Update game speed gameSpeed += 0.001; // Update score and UI scoreText.setText('Score: ' + LK.getScore()); healthText.setText('Health: ' + player.health); upgradesText.setText('Upgrades:\nDamage: ' + player.bulletDamage + '\nSpeed: ' + player.speed + '\nMultiShot: ' + player.multiShot + '\nFireRate: ' + player.fireRate); // Calculate enemy health based on time (every 30 seconds = 1800 ticks at 60fps) var enemyHealthBonus = Math.floor(LK.ticks / 1800) * 10; // Spawn enemies across full width if (LK.ticks % Math.max(30, enemySpawnRate - Math.floor(LK.ticks / 100)) == 0) { var enemy = new Enemy(); enemy.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries enemy.y = -50; enemy.speed = 4 + gameSpeed; enemy.health = 3 + enemyHealthBonus; enemy.maxHealth = 3 + enemyHealthBonus; enemy.healthText.setText(enemy.health.toString()); enemy.lastY = enemy.y; enemies.push(enemy); game.addChild(enemy); } // Spawn powerups across full width (much reduced rate for natural spawns) if (LK.ticks % Math.max(600, powerupSpawnRate * 5 - Math.floor(LK.ticks / 50)) == 0) { var powerup = new PowerUp(); powerup.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries powerup.y = -50; powerup.speed = 6 + gameSpeed; powerup.lastY = powerup.y; powerup.type = Math.random() < 0.7 ? 'health' : 'score'; powerups.push(powerup); game.addChild(powerup); } // Spawn upgrades across full width (much reduced rate for natural spawns) if (LK.ticks % Math.max(1200, upgradeSpawnRate * 5 - Math.floor(LK.ticks / 30)) == 0) { var upgrade = new Upgrade(); upgrade.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries upgrade.y = -50; upgrade.speed = 6 + gameSpeed; upgrade.lastY = upgrade.y; var upgradeTypes = ['speed', 'health', 'firerate', 'damage', 'multishot']; upgrade.type = upgradeTypes[Math.floor(Math.random() * upgradeTypes.length)]; upgrades.push(upgrade); game.addChild(upgrade); } // Spawn attack speed upgrades across full width (much reduced rate for natural spawns) if (LK.ticks % Math.max(1800, 2400 - Math.floor(LK.ticks / 20)) == 0) { var attackUpgrade = new AttackSpeedUpgrade(); attackUpgrade.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries attackUpgrade.y = -50; attackUpgrade.speed = 6 + gameSpeed; attackUpgrade.lastY = attackUpgrade.y; attackSpeedUpgrades.push(attackUpgrade); game.addChild(attackUpgrade); } // Auto shooting player.shoot(); // Update and check bullets for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; // Check if bullet went off screen if (bullet.lastY > -50 && bullet.y <= -50) { bullet.destroy(); bullets.splice(i, 1); continue; } bullet.lastY = bullet.y; } // Check bullet-enemy collisions for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; for (var j = enemies.length - 1; j >= 0; j--) { var enemy = enemies[j]; if (bullet.intersects(enemy)) { var enemyDead = enemy.takeDamage(bullet.damage); bullet.destroy(); bullets.splice(i, 1); if (enemyDead) { LK.setScore(LK.getScore() + 1); // Drop upgrade chance when enemy dies - total 80% chance var dropChance = Math.random(); if (dropChance < 0.25) { // 25% Fire Rate upgrade var droppedUpgrade = new AttackSpeedUpgrade(); droppedUpgrade.x = Math.max(25, Math.min(gameWidth - 25, enemy.x)); droppedUpgrade.y = enemy.y; droppedUpgrade.speed = 4; droppedUpgrade.lastY = droppedUpgrade.y; attackSpeedUpgrades.push(droppedUpgrade); game.addChild(droppedUpgrade); } else if (dropChance < 0.45) { // 20% Damage upgrade var droppedUpgrade = new Upgrade(); droppedUpgrade.type = 'damage'; droppedUpgrade.x = Math.max(25, Math.min(gameWidth - 25, enemy.x)); droppedUpgrade.y = enemy.y; droppedUpgrade.speed = 4; droppedUpgrade.lastY = droppedUpgrade.y; upgrades.push(droppedUpgrade); game.addChild(droppedUpgrade); } else if (dropChance < 0.65) { // 20% Speed upgrade var droppedUpgrade = new Upgrade(); droppedUpgrade.type = 'speed'; droppedUpgrade.x = Math.max(25, Math.min(gameWidth - 25, enemy.x)); droppedUpgrade.y = enemy.y; droppedUpgrade.speed = 4; droppedUpgrade.lastY = droppedUpgrade.y; upgrades.push(droppedUpgrade); game.addChild(droppedUpgrade); } else if (dropChance < 0.75) { // 10% Multishot upgrade var droppedUpgrade = new Upgrade(); droppedUpgrade.type = 'multishot'; droppedUpgrade.x = Math.max(25, Math.min(gameWidth - 25, enemy.x)); droppedUpgrade.y = enemy.y; droppedUpgrade.speed = 4; droppedUpgrade.lastY = droppedUpgrade.y; upgrades.push(droppedUpgrade); game.addChild(droppedUpgrade); } else if (dropChance < 0.80) { // 5% Health upgrade var droppedUpgrade = new HealthUpgrade(); droppedUpgrade.x = Math.max(25, Math.min(gameWidth - 25, enemy.x)); droppedUpgrade.y = enemy.y; droppedUpgrade.speed = 4; droppedUpgrade.lastY = droppedUpgrade.y; healthUpgrades.push(droppedUpgrade); game.addChild(droppedUpgrade); } enemy.destroy(); enemies.splice(j, 1); } break; } } } // Update and check enemies for (var i = enemies.length - 1; i >= 0; i--) { var enemy = enemies[i]; // Check if enemy went off screen if (enemy.lastY < 2732 + 50 && enemy.y >= 2732 + 50) { enemy.destroy(); enemies.splice(i, 1); continue; } // Check collision with player if (enemy.intersects(player)) { player.takeDamage(); enemy.destroy(); enemies.splice(i, 1); continue; } enemy.lastY = enemy.y; } // Update and check powerups for (var i = powerups.length - 1; i >= 0; i--) { var powerup = powerups[i]; // Check if powerup went off screen if (powerup.lastY < 2732 + 50 && powerup.y >= 2732 + 50) { powerup.destroy(); powerups.splice(i, 1); continue; } // Check collection by player if (powerup.intersects(player)) { LK.getSound('collect').play(); if (powerup.type === 'health') { player.heal(); } else if (powerup.type === 'score') { LK.setScore(LK.getScore() + 10); } LK.effects.flashObject(powerup, 0xFFFFFF, 200); powerup.destroy(); powerups.splice(i, 1); continue; } powerup.lastY = powerup.y; } // Update and check upgrades for (var i = upgrades.length - 1; i >= 0; i--) { var upgrade = upgrades[i]; // Check if upgrade went off screen if (upgrade.lastY < 2732 + 50 && upgrade.y >= 2732 + 50) { upgrade.destroy(); upgrades.splice(i, 1); continue; } // Check collection by player if (upgrade.intersects(player)) { LK.getSound('collect').play(); if (upgrade.type === 'speed') { player.upgradeSpeed(); } else if (upgrade.type === 'health') { player.maxHealth = Math.floor(player.maxHealth * 1.2) + 1; player.health = player.maxHealth; } else if (upgrade.type === 'firerate') { player.upgradeFireRate(); } else if (upgrade.type === 'damage') { player.upgradeDamage(); } else if (upgrade.type === 'multishot') { player.upgradeMultiShot(); } LK.effects.flashObject(upgrade, 0x00FF00, 300); upgrade.destroy(); upgrades.splice(i, 1); continue; } upgrade.lastY = upgrade.y; } // Update and check attack speed upgrades for (var i = attackSpeedUpgrades.length - 1; i >= 0; i--) { var attackUpgrade = attackSpeedUpgrades[i]; // Check if upgrade went off screen if (attackUpgrade.lastY < 2732 + 50 && attackUpgrade.y >= 2732 + 50) { attackUpgrade.destroy(); attackSpeedUpgrades.splice(i, 1); continue; } // Check collection by player if (attackUpgrade.intersects(player)) { LK.getSound('collect').play(); player.upgradeFireRate(); LK.effects.flashObject(attackUpgrade, 0x9c27b0, 300); attackUpgrade.destroy(); attackSpeedUpgrades.splice(i, 1); continue; } attackUpgrade.lastY = attackUpgrade.y; } // Update and check health upgrades for (var i = healthUpgrades.length - 1; i >= 0; i--) { var healthUpgrade = healthUpgrades[i]; // Check if upgrade went off screen if (healthUpgrade.lastY < 2732 + 50 && healthUpgrade.y >= 2732 + 50) { healthUpgrade.destroy(); healthUpgrades.splice(i, 1); continue; } // Check collection by player if (healthUpgrade.intersects(player)) { LK.getSound('collect').play(); player.maxHealth = Math.floor(player.maxHealth * 1.2) + 1; player.health = player.maxHealth; LK.effects.flashObject(healthUpgrade, 0x4caf50, 300); healthUpgrade.destroy(); healthUpgrades.splice(i, 1); continue; } healthUpgrade.lastY = healthUpgrade.y; } }; // Start background music LK.playMusic('background');
===================================================================
--- original.js
+++ change.js
@@ -204,9 +204,8 @@
y: 0
};
// Game variables
var gameSpeed = 1;
-var distance = 0;
var enemySpawnRate = 120;
var powerupSpawnRate = 180;
var upgradeSpawnRate = 300;
// UI Elements
@@ -223,14 +222,8 @@
fill: 0xFF0000
});
healthText.anchor.set(1, 0);
LK.gui.topRight.addChild(healthText);
-var distanceText = new Text2('Distance: 0', {
- size: 50,
- fill: 0x00FF00
-});
-distanceText.anchor.set(0.5, 0);
-LK.gui.top.addChild(distanceText);
// Player upgrades display
var upgradesText = new Text2('Upgrades:\nDamage: 1\nSpeed: 5\nMultiShot: 1\nFireRate: 30', {
size: 40,
fill: 0x00FFFF
@@ -255,21 +248,18 @@
isDragging = false;
};
// Main game loop
game.update = function () {
- distance += gameSpeed;
// Update game speed
gameSpeed += 0.001;
// Update score and UI
- LK.setScore(Math.floor(distance / 10));
scoreText.setText('Score: ' + LK.getScore());
healthText.setText('Health: ' + player.health);
- distanceText.setText('Distance: ' + Math.floor(distance));
upgradesText.setText('Upgrades:\nDamage: ' + player.bulletDamage + '\nSpeed: ' + player.speed + '\nMultiShot: ' + player.multiShot + '\nFireRate: ' + player.fireRate);
// Calculate enemy health based on time (every 30 seconds = 1800 ticks at 60fps)
var enemyHealthBonus = Math.floor(LK.ticks / 1800) * 10;
// Spawn enemies across full width
- if (LK.ticks % Math.max(30, enemySpawnRate - Math.floor(distance / 100)) == 0) {
+ if (LK.ticks % Math.max(30, enemySpawnRate - Math.floor(LK.ticks / 100)) == 0) {
var enemy = new Enemy();
enemy.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries
enemy.y = -50;
enemy.speed = 4 + gameSpeed;
@@ -280,9 +270,9 @@
enemies.push(enemy);
game.addChild(enemy);
}
// Spawn powerups across full width (much reduced rate for natural spawns)
- if (LK.ticks % Math.max(600, powerupSpawnRate * 5 - Math.floor(distance / 50)) == 0) {
+ if (LK.ticks % Math.max(600, powerupSpawnRate * 5 - Math.floor(LK.ticks / 50)) == 0) {
var powerup = new PowerUp();
powerup.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries
powerup.y = -50;
powerup.speed = 6 + gameSpeed;
@@ -291,9 +281,9 @@
powerups.push(powerup);
game.addChild(powerup);
}
// Spawn upgrades across full width (much reduced rate for natural spawns)
- if (LK.ticks % Math.max(1200, upgradeSpawnRate * 5 - Math.floor(distance / 30)) == 0) {
+ if (LK.ticks % Math.max(1200, upgradeSpawnRate * 5 - Math.floor(LK.ticks / 30)) == 0) {
var upgrade = new Upgrade();
upgrade.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries
upgrade.y = -50;
upgrade.speed = 6 + gameSpeed;
@@ -303,9 +293,9 @@
upgrades.push(upgrade);
game.addChild(upgrade);
}
// Spawn attack speed upgrades across full width (much reduced rate for natural spawns)
- if (LK.ticks % Math.max(1800, 2400 - Math.floor(distance / 20)) == 0) {
+ if (LK.ticks % Math.max(1800, 2400 - Math.floor(LK.ticks / 20)) == 0) {
var attackUpgrade = new AttackSpeedUpgrade();
attackUpgrade.x = 25 + Math.random() * (gameWidth - 50); // Random position with 25px boundaries
attackUpgrade.y = -50;
attackUpgrade.speed = 6 + gameSpeed;
@@ -335,9 +325,9 @@
var enemyDead = enemy.takeDamage(bullet.damage);
bullet.destroy();
bullets.splice(i, 1);
if (enemyDead) {
- LK.setScore(LK.getScore() + 5);
+ LK.setScore(LK.getScore() + 1);
// Drop upgrade chance when enemy dies - total 80% chance
var dropChance = Math.random();
if (dropChance < 0.25) {
// 25% Fire Rate upgrade
Aşırı kızgın, hatta kafasından alevler çıkan, kübizm tarzında bir canavar çiz.. In-Game asset. 2d. High contrast. No shadows
kübizm tarzında düz bir mermi. In-Game asset. 2d. High contrast. No shadows
Aşırı kızgın, kübizm tarzında bir canavar çiz.. In-Game asset. 2d. High contrast. No shadows
Bir iyileşme efekti çiz kübizm tarzında. In-Game asset. 2d. High contrast. No shadows
Ortaçağ tarzında bir uzay gemisi çiz ve çizim tarzıda kübizm olsun. In-Game asset. 2d. High contrast. No shadows
Bir iyileşme efekti çiz sade olsun In-Game asset. 2d. High contrast. No shadows
saldırı hızını artışını gösteren bir çizim In-Game asset. 2d. High contrast. No shadows
hız artışını görselleştir ve mavi olsun In-Game asset. 2d. High contrast. No shadows
Birden fazla mermi, üzerinde + işareti olsun ve mavi olsun In-Game asset. 2d. High contrast. No shadows
Kaslı bir kol üstünde de + işareti olan bir çizim yap mavi olsun In-Game asset. 2d. High contrast. No shadows
Tekrar eden başlangıç ve son noktası aynı olan bir uzay arkaplan olarak yapmak istiyorum In-Game asset. 2d. High contrast.