User prompt
Please fix the bug: 'TypeError: storage.set is not a function' in or related to this line: 'storage.set('highScore', highScore);' Line Number: 227 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'TypeError: storage.get is not a function' in or related to this line: 'var highScore = storage.get('highScore') || 0;' Line Number: 217 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'ReferenceError: storage is not defined' in or related to this line: 'var highScore = storage.get('highScore') || 0;' Line Number: 212 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
levelin arttıgını ekranda sağ üstte göster ve level ile çalışan bi highscore ekle
User prompt
her 30 skorda bir level arttsın ve her level de düşman oluşma sıklığı arttsın
User prompt
her 50 skorda bir level arttsın ve her level de düşman oluşma sıklığı arttsın
User prompt
düşman oluştuktan sonra oyuncuya çarpmadan ekrandan çıkarsa 10 puan kazansın
User prompt
düşman hızını biraz daha arttır ve daha sık oluşşun
User prompt
düşmanların hızını arttır
User prompt
düşmanlar ekranın her kenarından çıkabilsin ve oyuncunun o anki konumuna doğru gelsin fakat takip etmesin
User prompt
düşmanlar sadece bir eksende değil ekranın her tarafında çıksın rastgele bir şekilde
User prompt
düşmanların hızını arttır
User prompt
mermiler hem y hem x ekseninden çıksın ve ekranın kenarlarında olussun
User prompt
gelen düşmanlar oyuncuyu takip etmesin belirli bi eksende düz gitsin
User prompt
oyuncu imleci takip etmesin imleç ile tıkladığımız yere gitsin
User prompt
oyuncumuzu ekrana tıklayarak hareket ettirelim yani tıkladığımız yere gitsin
User prompt
oyunda 2 tane oyuncu var bunu düzelt
User prompt
etraftan bize doğru gelen şeyler düşma değil mermiler olsun ve biz ekrana tıklayıp hareket ederek bu mermilerden kaçmaya çalışalım
User prompt
ateş edemeyelim
User prompt
lazeri sil
User prompt
Please fix the bug: 'ReferenceError: playerGraphics is not defined' in or related to this line: 'self.x = player.x + Math.cos(player.rotation) * playerGraphics.width / 2;' Line Number: 106
User prompt
lazeri düzelt olmamış
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'x')' in or related to this line: 'self.x = player.x;' Line Number: 106
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'update')' in or related to this line: 'laser.update();' Line Number: 160
User prompt
nereye sıktığımız gösteren bir lazer ekle
/****
* Plugins
****/
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 7 + Math.random() * 4.5; // Further increase base speed and range
self.health = 1;
self.lastWasIntersecting = false;
self.update = function () {
// Move towards the player's current position
self.x += self.vx;
self.y += self.vy;
// Check collision with player
var isIntersecting = self.intersects(player);
if (!self.lastWasIntersecting && isIntersecting) {
player.takeDamage(10);
self.destroy();
var index = enemies.indexOf(self);
if (index > -1) {
enemies.splice(index, 1);
}
}
self.lastWasIntersecting = isIntersecting;
// Check if the enemy has exited the screen without colliding with the player
if (!isIntersecting && (self.x < -self.width || self.x > 2048 + self.width || self.y < -self.height || self.y > 2732 + self.height)) {
LK.setScore(LK.getScore() + 10);
self.destroy();
var index = enemies.indexOf(self);
if (index > -1) {
enemies.splice(index, 1);
}
}
};
self.takeDamage = function (amount) {
self.health -= amount;
if (self.health <= 0) {
LK.getSound('explosion').play();
LK.effects.flashObject(self, 0xFFFFFF, 100);
self.destroy();
var index = enemies.indexOf(self);
if (index > -1) {
enemies.splice(index, 1);
}
LK.setScore(LK.getScore() + 10);
}
};
return self;
});
// Set background color
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.health = 100;
self.rotation = 0;
self.shootCooldown = 0;
self.update = function () {
if (self.shootCooldown > 0) {
self.shootCooldown--;
}
// Move player towards target position
var dx = self.targetX - self.x;
var dy = self.targetY - self.y;
var dist = Math.sqrt(dx * dx + dy * dy);
if (dist > 1) {
self.x += dx / dist * 5; // Adjust speed as needed
self.y += dy / dist * 5; // Adjust speed as needed
}
};
self.shoot = function () {
// Shooting functionality removed
};
self.takeDamage = function (amount) {
self.health -= amount;
LK.effects.flashObject(self, 0xFF0000, 300);
if (self.health <= 0) {
LK.effects.flashScreen(0xFF0000, 1000);
LK.showGameOver();
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
// Update player
game.setBackgroundColor(0x2c3e50);
// Game variables
var player;
var enemies = [];
var spawnTimer = 0;
var level = 0;
var spawnInterval = 90; // Decrease interval for more frequent spawns
var spawnDistance = 800; // Distance from center to spawn enemies
var aimDirection = 0;
var score = 0;
// Create player in center of screen
player = new Player();
player.x = 2048 / 2;
player.y = 2732 / 2;
game.addChild(player);
// Spawn an initial enemy at the start of the game
spawnEnemy();
// Create score text
var scoreText = new Text2('Score: 0', {
size: 60,
fill: 0xFFFFFF
});
scoreText.anchor.set(0, 0);
LK.gui.topLeft.addChild(scoreText);
scoreText.x = 110; // Keep away from top left 100x100 area
// Create level text
var levelText = new Text2('Level: 0', {
size: 60,
fill: 0xFFFFFF
});
levelText.anchor.set(1, 0);
LK.gui.topRight.addChild(levelText);
levelText.x = -10; // Position level text away from the right edge
// Handle touch/click input for aiming and shooting
game.down = function (x, y, obj) {
// Set target position for player to move towards
player.targetX = x;
player.targetY = y;
};
game.move = function (x, y, obj) {
// No movement logic needed here
};
game.up = function (x, y, obj) {
// Could add additional logic here
};
// Spawn enemy at random position around the player
function spawnEnemy() {
var enemy = new Enemy();
// Randomly choose an edge of the screen to spawn the enemy
var edge = Math.floor(Math.random() * 4);
switch (edge) {
case 0:
// Top edge
enemy.x = Math.random() * 2048;
enemy.y = -enemy.height;
break;
case 1:
// Right edge
enemy.x = 2048 + enemy.width;
enemy.y = Math.random() * 2732;
break;
case 2:
// Bottom edge
enemy.x = Math.random() * 2048;
enemy.y = 2732 + enemy.height;
break;
case 3:
// Left edge
enemy.x = -enemy.width;
enemy.y = Math.random() * 2732;
break;
}
// Calculate direction towards player
var dx = player.x - enemy.x;
var dy = player.y - enemy.y;
var dist = Math.sqrt(dx * dx + dy * dy);
enemy.vx = dx / dist * enemy.speed;
enemy.vy = dy / dist * enemy.speed;
game.addChild(enemy);
enemies.push(enemy);
// Increase difficulty
if (spawnInterval > 30) {
spawnInterval -= 0.5;
}
}
// Game update loop
game.update = function () {
// Update player
player.update();
// Update enemies
for (var i = enemies.length - 1; i >= 0; i--) {
enemies[i].update();
}
// Spawn enemies
spawnTimer++;
if (spawnTimer >= spawnInterval) {
spawnEnemy();
spawnTimer = 0;
}
// Update score and level display
scoreText.setText('Score: ' + LK.getScore());
levelText.setText('Level: ' + level);
// Initialize high score
var highScore = storage.highScore || 0;
// Increase level and decrease spawn interval every 30 points
if (LK.getScore() >= (level + 1) * 30) {
level++;
if (spawnInterval > 30) {
spawnInterval -= 5; // Decrease spawn interval to increase difficulty
}
// Update high score if the current level is higher
if (level > highScore) {
highScore = level;
storage.highScore = highScore;
}
}
}; ===================================================================
--- original.js
+++ change.js
@@ -215,8 +215,8 @@
}
// Update high score if the current level is higher
if (level > highScore) {
highScore = level;
- storage.set('highScore', highScore);
+ storage.highScore = highScore;
}
}
};
\ No newline at end of file