User prompt
iskeletin canı 100 olsun ve her vurduğumzuda 5 canı gitsin isklet bizi takip etsin ve canı sol altta gözüksün
User prompt
iskelet kafasının ve hırsızın arkadaşının kendilerine ait asetleri olsun
User prompt
eğer hırsızı öldürüsek bir tane iskelt kafası 1 tanede hırsızın arkadaşı gelsin ve bize silah sıksınlar
User prompt
2.5 saniyede 1 çıksıjn madeni paralar
User prompt
madeni paralar 5 saniyede 1 çıksın
User prompt
hırsızın canı sağ altta gözüksün
User prompt
hırsızın 100 canı olsun ve biz her ona silahla vurduğumuzda canından 5 canı gitsin
User prompt
bir silah eklensin ve bu silahla hırsıza sıkabilelim
User prompt
Please fix the bug: 'TypeError: LK.isPaused is not a function' in or related to this line: 'if (!LK.isPaused() && survivalTime >= lastCounterUpdate + 10) {' Line Number: 151
User prompt
oyun duraklatınca zamanlayıcı çalışmasın
User prompt
para daha sık çıksın
User prompt
karakterimiz yerlerden para toplasın ve 5 tane para olunca 1 puanımız dah artsın
User prompt
sağ üstte bir sayaç ekle ve her 10 saniye geçince 1 artsın
User prompt
saldırganı 5 kat daha hızlandır
Code edit (1 edits merged)
Please save this source code
User prompt
Chase Escape
Initial prompt
bir tane saldırgan bizi takip etsin ve bize değerse oyun bitsin
/**** * Classes ****/ 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.targetX = 0; self.targetY = 0; self.directionX = 0; self.directionY = 0; self.update = function () { self.x += self.directionX * self.speed; self.y += self.directionY * self.speed; }; return self; }); var Coin = Container.expand(function () { var self = Container.call(this); var coinGraphics = self.attachAsset('coin', { anchorX: 0.5, anchorY: 0.5 }); 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 = 10; self.update = function () { if (player) { // Calculate direction towards player var dx = player.x - self.x; var dy = player.y - self.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > 0) { // Normalize and apply speed self.x += dx / distance * self.speed; self.y += dy / distance * self.speed; } } }; return self; }); var EnemyBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('enemyBullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 12; self.directionX = 0; self.directionY = 0; self.update = function () { self.x += self.directionX * self.speed; self.y += self.directionY * self.speed; }; return self; }); var EnemyFriend = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemyFriend', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 8; self.update = function () { if (player) { // Calculate direction towards player var dx = player.x - self.x; var dy = player.y - self.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > 0) { // Normalize and apply speed self.x += dx / distance * self.speed; self.y += dy / distance * self.speed; } } }; return self; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); return self; }); var Skull = Container.expand(function () { var self = Container.call(this); var skullGraphics = self.attachAsset('skull', { anchorX: 0.5, anchorY: 0.5 }); self.health = 100; self.speed = 6; self.update = function () { if (player) { // Calculate direction towards player var dx = player.x - self.x; var dy = player.y - self.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > 0) { // Normalize and apply speed self.x += dx / distance * self.speed; self.y += dy / distance * self.speed; } } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x333333 }); /**** * Game Code ****/ var player; var enemy; var gameStartTime; var dragNode = null; var lastIntersecting = false; var counter = 0; var lastCounterUpdate = 0; var coins = []; var collectedCoins = 0; var bullets = []; var shootTarget = null; var enemyHealth = 100; var enemyBullets = []; var skull = null; var skullHealth = 100; var enemyShootTimer = 0; // Score display var scoreTxt = new Text2('Time: 0', { size: 80, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Counter display in top right var counterTxt = new Text2('0', { size: 80, fill: 0xFFFFFF }); counterTxt.anchor.set(1, 0); LK.gui.topRight.addChild(counterTxt); // Enemy health display in bottom right var enemyHealthTxt = new Text2('Health: 100', { size: 60, fill: 0xff0000 }); enemyHealthTxt.anchor.set(1, 1); LK.gui.bottomRight.addChild(enemyHealthTxt); // Skull health display in bottom left var skullHealthTxt = new Text2('', { size: 60, fill: 0x00ff00 }); skullHealthTxt.anchor.set(0, 1); LK.gui.bottomLeft.addChild(skullHealthTxt); // Create player player = game.addChild(new Player()); player.x = 1024; // Center horizontally player.y = 1800; // Near bottom // Create enemy enemy = game.addChild(new Enemy()); enemy.x = 1024; // Center horizontally enemy.y = 400; // Near top // Record game start time gameStartTime = Date.now(); // Handle touch/drag movement function handleMove(x, y, obj) { if (dragNode) { dragNode.x = x; dragNode.y = y; // Keep player within screen bounds if (dragNode.x < 40) dragNode.x = 40; if (dragNode.x > 2008) dragNode.x = 2008; if (dragNode.y < 40) dragNode.y = 40; if (dragNode.y > 2692) dragNode.y = 2692; } } game.move = handleMove; game.down = function (x, y, obj) { // Check if tap is near player for dragging var distanceToPlayer = Math.sqrt((x - player.x) * (x - player.x) + (y - player.y) * (y - player.y)); if (distanceToPlayer < 100) { dragNode = player; handleMove(x, y, obj); } else { // Shoot bullet towards tap location var bullet = new Bullet(); bullet.x = player.x; bullet.y = player.y; // Calculate direction to target var dx = x - player.x; var dy = y - player.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > 0) { bullet.directionX = dx / distance; bullet.directionY = dy / distance; } bullets.push(bullet); game.addChild(bullet); } }; game.up = function (x, y, obj) { dragNode = null; }; game.update = function () { // Spawn new coins randomly if (LK.ticks % 150 === 0) { // Every 2.5 seconds var newCoin = new Coin(); newCoin.x = Math.random() * (2048 - 100) + 50; newCoin.y = Math.random() * (2732 - 100) + 50; coins.push(newCoin); game.addChild(newCoin); } // Update bullets and check collisions for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; // Remove bullets that go off screen if (bullet.x < 0 || bullet.x > 2048 || bullet.y < 0 || bullet.y > 2732) { bullet.destroy(); bullets.splice(i, 1); continue; } // Check bullet collision with enemy if (bullet.intersects(enemy)) { // Reduce enemy health by 5 enemyHealth -= 5; // Update enemy health display enemyHealthTxt.setText('Health: ' + enemyHealth); // Check if enemy is defeated if (enemyHealth <= 0) { // Create skull at enemy position skull = game.addChild(new Skull()); skull.x = enemy.x; skull.y = enemy.y; skullHealth = 100; skullHealthTxt.setText('Skull Health: ' + skullHealth); // Remove old enemy and create new enemy friend enemy.destroy(); enemy = game.addChild(new EnemyFriend()); enemy.x = Math.random() * 1800 + 100; enemy.y = Math.random() * 400 + 100; enemyHealth = 100; enemyHealthTxt.setText('Health: ' + enemyHealth); } bullet.destroy(); bullets.splice(i, 1); continue; } // Check bullet collision with skull if it exists if (skull && bullet.intersects(skull)) { // Reduce skull health by 5 skullHealth -= 5; // Update skull health display skullHealthTxt.setText('Skull Health: ' + skullHealth); // Check if skull is defeated if (skullHealth <= 0) { skull.destroy(); skull = null; skullHealthTxt.setText(''); } bullet.destroy(); bullets.splice(i, 1); continue; } } // Enemy shooting logic enemyShootTimer++; if (enemyShootTimer >= 120) { // Shoot every 2 seconds enemyShootTimer = 0; var enemyBullet = new EnemyBullet(); enemyBullet.x = enemy.x; enemyBullet.y = enemy.y; // Calculate direction to player var dx = player.x - enemy.x; var dy = player.y - enemy.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > 0) { enemyBullet.directionX = dx / distance; enemyBullet.directionY = dy / distance; } enemyBullets.push(enemyBullet); game.addChild(enemyBullet); } // Update enemy bullets and check collisions for (var i = enemyBullets.length - 1; i >= 0; i--) { var enemyBullet = enemyBullets[i]; // Remove bullets that go off screen if (enemyBullet.x < 0 || enemyBullet.x > 2048 || enemyBullet.y < 0 || enemyBullet.y > 2732) { enemyBullet.destroy(); enemyBullets.splice(i, 1); continue; } // Check enemy bullet collision with player if (enemyBullet.intersects(player)) { // Game over - player hit by enemy bullet LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } // Check coin collection for (var i = coins.length - 1; i >= 0; i--) { var coin = coins[i]; if (player.intersects(coin)) { collectedCoins++; coin.destroy(); coins.splice(i, 1); // Check if we collected 5 coins if (collectedCoins >= 5) { collectedCoins -= 5; // Reset coin count LK.setScore(LK.getScore() + 1); } } } // Update survival time score var currentTime = Date.now(); var survivalTime = Math.floor((currentTime - gameStartTime) / 1000); scoreTxt.setText('Time: ' + survivalTime); LK.setScore(survivalTime); // Update counter every 10 seconds if (survivalTime >= lastCounterUpdate + 10) { counter++; counterTxt.setText(counter.toString()); lastCounterUpdate = survivalTime; } // Check collision between player and enemy var currentIntersecting = player.intersects(enemy); if (!lastIntersecting && currentIntersecting) { // Game over - enemy caught player LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } lastIntersecting = currentIntersecting; // Gradually increase enemy speed over time for difficulty if (LK.ticks % 300 === 0) { // Every 5 seconds enemy.speed += 0.1; } };
/****
* Classes
****/
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.targetX = 0;
self.targetY = 0;
self.directionX = 0;
self.directionY = 0;
self.update = function () {
self.x += self.directionX * self.speed;
self.y += self.directionY * self.speed;
};
return self;
});
var Coin = Container.expand(function () {
var self = Container.call(this);
var coinGraphics = self.attachAsset('coin', {
anchorX: 0.5,
anchorY: 0.5
});
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 = 10;
self.update = function () {
if (player) {
// Calculate direction towards player
var dx = player.x - self.x;
var dy = player.y - self.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0) {
// Normalize and apply speed
self.x += dx / distance * self.speed;
self.y += dy / distance * self.speed;
}
}
};
return self;
});
var EnemyBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('enemyBullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 12;
self.directionX = 0;
self.directionY = 0;
self.update = function () {
self.x += self.directionX * self.speed;
self.y += self.directionY * self.speed;
};
return self;
});
var EnemyFriend = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemyFriend', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.update = function () {
if (player) {
// Calculate direction towards player
var dx = player.x - self.x;
var dy = player.y - self.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0) {
// Normalize and apply speed
self.x += dx / distance * self.speed;
self.y += dy / distance * self.speed;
}
}
};
return self;
});
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
return self;
});
var Skull = Container.expand(function () {
var self = Container.call(this);
var skullGraphics = self.attachAsset('skull', {
anchorX: 0.5,
anchorY: 0.5
});
self.health = 100;
self.speed = 6;
self.update = function () {
if (player) {
// Calculate direction towards player
var dx = player.x - self.x;
var dy = player.y - self.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0) {
// Normalize and apply speed
self.x += dx / distance * self.speed;
self.y += dy / distance * self.speed;
}
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x333333
});
/****
* Game Code
****/
var player;
var enemy;
var gameStartTime;
var dragNode = null;
var lastIntersecting = false;
var counter = 0;
var lastCounterUpdate = 0;
var coins = [];
var collectedCoins = 0;
var bullets = [];
var shootTarget = null;
var enemyHealth = 100;
var enemyBullets = [];
var skull = null;
var skullHealth = 100;
var enemyShootTimer = 0;
// Score display
var scoreTxt = new Text2('Time: 0', {
size: 80,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Counter display in top right
var counterTxt = new Text2('0', {
size: 80,
fill: 0xFFFFFF
});
counterTxt.anchor.set(1, 0);
LK.gui.topRight.addChild(counterTxt);
// Enemy health display in bottom right
var enemyHealthTxt = new Text2('Health: 100', {
size: 60,
fill: 0xff0000
});
enemyHealthTxt.anchor.set(1, 1);
LK.gui.bottomRight.addChild(enemyHealthTxt);
// Skull health display in bottom left
var skullHealthTxt = new Text2('', {
size: 60,
fill: 0x00ff00
});
skullHealthTxt.anchor.set(0, 1);
LK.gui.bottomLeft.addChild(skullHealthTxt);
// Create player
player = game.addChild(new Player());
player.x = 1024; // Center horizontally
player.y = 1800; // Near bottom
// Create enemy
enemy = game.addChild(new Enemy());
enemy.x = 1024; // Center horizontally
enemy.y = 400; // Near top
// Record game start time
gameStartTime = Date.now();
// Handle touch/drag movement
function handleMove(x, y, obj) {
if (dragNode) {
dragNode.x = x;
dragNode.y = y;
// Keep player within screen bounds
if (dragNode.x < 40) dragNode.x = 40;
if (dragNode.x > 2008) dragNode.x = 2008;
if (dragNode.y < 40) dragNode.y = 40;
if (dragNode.y > 2692) dragNode.y = 2692;
}
}
game.move = handleMove;
game.down = function (x, y, obj) {
// Check if tap is near player for dragging
var distanceToPlayer = Math.sqrt((x - player.x) * (x - player.x) + (y - player.y) * (y - player.y));
if (distanceToPlayer < 100) {
dragNode = player;
handleMove(x, y, obj);
} else {
// Shoot bullet towards tap location
var bullet = new Bullet();
bullet.x = player.x;
bullet.y = player.y;
// Calculate direction to target
var dx = x - player.x;
var dy = y - player.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0) {
bullet.directionX = dx / distance;
bullet.directionY = dy / distance;
}
bullets.push(bullet);
game.addChild(bullet);
}
};
game.up = function (x, y, obj) {
dragNode = null;
};
game.update = function () {
// Spawn new coins randomly
if (LK.ticks % 150 === 0) {
// Every 2.5 seconds
var newCoin = new Coin();
newCoin.x = Math.random() * (2048 - 100) + 50;
newCoin.y = Math.random() * (2732 - 100) + 50;
coins.push(newCoin);
game.addChild(newCoin);
}
// Update bullets and check collisions
for (var i = bullets.length - 1; i >= 0; i--) {
var bullet = bullets[i];
// Remove bullets that go off screen
if (bullet.x < 0 || bullet.x > 2048 || bullet.y < 0 || bullet.y > 2732) {
bullet.destroy();
bullets.splice(i, 1);
continue;
}
// Check bullet collision with enemy
if (bullet.intersects(enemy)) {
// Reduce enemy health by 5
enemyHealth -= 5;
// Update enemy health display
enemyHealthTxt.setText('Health: ' + enemyHealth);
// Check if enemy is defeated
if (enemyHealth <= 0) {
// Create skull at enemy position
skull = game.addChild(new Skull());
skull.x = enemy.x;
skull.y = enemy.y;
skullHealth = 100;
skullHealthTxt.setText('Skull Health: ' + skullHealth);
// Remove old enemy and create new enemy friend
enemy.destroy();
enemy = game.addChild(new EnemyFriend());
enemy.x = Math.random() * 1800 + 100;
enemy.y = Math.random() * 400 + 100;
enemyHealth = 100;
enemyHealthTxt.setText('Health: ' + enemyHealth);
}
bullet.destroy();
bullets.splice(i, 1);
continue;
}
// Check bullet collision with skull if it exists
if (skull && bullet.intersects(skull)) {
// Reduce skull health by 5
skullHealth -= 5;
// Update skull health display
skullHealthTxt.setText('Skull Health: ' + skullHealth);
// Check if skull is defeated
if (skullHealth <= 0) {
skull.destroy();
skull = null;
skullHealthTxt.setText('');
}
bullet.destroy();
bullets.splice(i, 1);
continue;
}
}
// Enemy shooting logic
enemyShootTimer++;
if (enemyShootTimer >= 120) {
// Shoot every 2 seconds
enemyShootTimer = 0;
var enemyBullet = new EnemyBullet();
enemyBullet.x = enemy.x;
enemyBullet.y = enemy.y;
// Calculate direction to player
var dx = player.x - enemy.x;
var dy = player.y - enemy.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0) {
enemyBullet.directionX = dx / distance;
enemyBullet.directionY = dy / distance;
}
enemyBullets.push(enemyBullet);
game.addChild(enemyBullet);
}
// Update enemy bullets and check collisions
for (var i = enemyBullets.length - 1; i >= 0; i--) {
var enemyBullet = enemyBullets[i];
// Remove bullets that go off screen
if (enemyBullet.x < 0 || enemyBullet.x > 2048 || enemyBullet.y < 0 || enemyBullet.y > 2732) {
enemyBullet.destroy();
enemyBullets.splice(i, 1);
continue;
}
// Check enemy bullet collision with player
if (enemyBullet.intersects(player)) {
// Game over - player hit by enemy bullet
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}
// Check coin collection
for (var i = coins.length - 1; i >= 0; i--) {
var coin = coins[i];
if (player.intersects(coin)) {
collectedCoins++;
coin.destroy();
coins.splice(i, 1);
// Check if we collected 5 coins
if (collectedCoins >= 5) {
collectedCoins -= 5; // Reset coin count
LK.setScore(LK.getScore() + 1);
}
}
}
// Update survival time score
var currentTime = Date.now();
var survivalTime = Math.floor((currentTime - gameStartTime) / 1000);
scoreTxt.setText('Time: ' + survivalTime);
LK.setScore(survivalTime);
// Update counter every 10 seconds
if (survivalTime >= lastCounterUpdate + 10) {
counter++;
counterTxt.setText(counter.toString());
lastCounterUpdate = survivalTime;
}
// Check collision between player and enemy
var currentIntersecting = player.intersects(enemy);
if (!lastIntersecting && currentIntersecting) {
// Game over - enemy caught player
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
lastIntersecting = currentIntersecting;
// Gradually increase enemy speed over time for difficulty
if (LK.ticks % 300 === 0) {
// Every 5 seconds
enemy.speed += 0.1;
}
};
hırsız. In-Game asset. 2d. High contrast. No shadows
öğrenci. In-Game asset. 2d. High contrast. No shadows
mermi. In-Game asset. 2d. High contrast. No shadows
kafatası. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
emrmi ama kırmızı. In-Game asset. 2d. High contrast. No shadows