User prompt
переместите на правам угле
User prompt
добавьте текст (уровень) и щёт 1, каждый 3 попадание цели, щёт уровня увеличивается
User prompt
добавьте текст (уровень) и щёт, и каждый по 3 попадания цели щёт убавляет ещё 1 щёт
User prompt
цифру цены разукрасьте красным
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'toString')' in or related to this line: 'var buttonPriceTxt = new Text2(buttonCost.toString(), {' Line Number: 115
User prompt
рядом с кнопки добавьте цифру цены
User prompt
добавить звук кнопки
User prompt
при нажатье кнопки топор не должен срабатывать, если хватит цена на нажатие
User prompt
при нажатье кнопки топор не должен срабатывать, если хватит цена на нажатие
User prompt
Please fix the bug: 'TypeError: button1.containsPoint is not a function' in or related to this line: 'if (!button1.containsPoint(pos) && !button1.down) {' Line Number: 171
User prompt
при нажатье кнопки топор не должен срабатывать, господи это же очевидно
User prompt
Please fix the bug: 'TypeError: button1.containsPoint is not a function' in or related to this line: 'if (!button1.containsPoint(pos)) {' Line Number: 171
User prompt
при нажатье кнопки топор не должен срабатывать
User prompt
когда вы нажмёте на кнопку, он немного уменьшится, а затем за 0,1 секунды снова станет нормальным, но это будет работать только при достаточном количестве очков
User prompt
когда вы нажмёте на кнопку, он уменьшится на 50 единиц, а затем за 0,1 секунды снова станет нормальным, но это будет работать только при достаточном количестве очков
User prompt
когда вы нажмёте на кнопку, он уменьшится на 5 единиц, а затем за 0.1 секунду снова станет нормальным, но это будет работать только при достаточном количестве очков
User prompt
когда кнопка будет нажата он уменьшится на 20 единиц а потом за 1 секунду снова станет нормально, но это будет работать только если будет хватать очков
User prompt
вовремя падение врага они будут ускорятся подение
User prompt
Please fix the bug: 'Uncaught TypeError: requestAnimationFrame is not a function' in or related to this line: 'requestAnimationFrame(_spinAndFall);' Line Number: 130
User prompt
эта кнопка будет работать так, что враги будут уничтожены и испарятся (сделать эффект испарение) и при этом они будут крутится и падать вниз, но при этом 1 нажатие кнопки будет стоить 100 очков, и при каждом нажатии цена будет увеличиваться на 50
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'on')' in or related to this line: 'button1.on('down', function () {' Line Number: 106
User prompt
эта кнопка будет работать так, что враги будут уничтожены и испарятся и потом исчезнут , но при этом 1 нажатие кнопки будет стоить 100 очков, и при каждом нажатии цена будет увеличиваться на 50
User prompt
ускорь падение врагов перед их смертью
User prompt
эта кнопка будет работать так, что враги будут упадут вниз (то есть добавить логику на тяжесть) и потом исчезнут , но при этом 1 нажатие кнопки будет стоить 100 очков, и при каждом нажатии цена будет увеличиваться на 50
User prompt
эта кнопка будет работать так, что враги будут уменьшится и исчезнут, но при этом 1 нажатие кнопки будет стоить 100 очков, и при каждом нажатии цена будет увеличиваться на 50
/**** * Classes ****/ var Axe = Container.expand(function () { var self = Container.call(this); var axeGraphics = self.attachAsset('axe', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 40; self.gravity = 0.3; // Adjusted gravity effect self.velocityY = -self.speed; // Initial upward velocity self._move_migrated = function () { self.velocityY += self.gravity; // Apply gravity to velocity self.y += self.velocityY; // Update position with velocity self.rotation += 0.1; }; }); var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.direction = 1; self.scaleFactor = 0.1; // Initial small scale self.growthRate = 0.01; // Rate at which the enemy grows self._move_migrated = function () { // Randomize direction change if (Math.random() < 0.05) { self.direction = Math.random() * 2 * Math.PI; // Random angle } // Update position based on direction self.x += self.speed * Math.cos(self.direction); self.y += self.speed * Math.sin(self.direction); // Keep enemy within bounds if (self.x <= 0 || self.x >= 2048) { self.direction = Math.PI - self.direction; // Reflect horizontally } if (self.y <= 0 || self.y >= 2732) { self.direction = -self.direction; // Reflect vertically } // Increase size until normal size is reached if (self.scaleFactor < 1) { self.scaleFactor += self.growthRate; self.scale.set(self.scaleFactor, self.scaleFactor); } }; }); var Target = Container.expand(function () { var self = Container.call(this); var targetGraphics = self.attachAsset('target', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.direction = 1; self._move_migrated = function () { self.x += self.speed * self.direction; if (self.x <= 0 || self.x >= 2048) { self.direction *= -1; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var background = game.attachAsset('green_grass_field', {}); background.width = 2048; background.height = 2732; var targets = []; var axes = []; var score = 0; var kills = 0; var targetSpeed = 5; var enemies = []; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff", font: "Impact", dropShadow: true, dropShadowColor: "#000000" }); scoreTxt.anchor.set(.5, 0); LK.gui.top.addChild(scoreTxt); // Add button-1 to the bottom right corner var button1 = game.attachAsset('button-1', { anchorX: 1.0, anchorY: 1.0, x: 2048, y: 2732 }); game.addChild(button1); var buttonCost = 100; // Initial cost for using the button button1.down = function (x, y, obj) { if (score >= buttonCost) { // Deduct score score -= buttonCost; scoreTxt.setText(score); // Increase cost for next use buttonCost += 50; // Remove all enemies for (var i = 0; i < enemies.length; i++) { enemies[i].destroy(); } enemies = []; } }; var spawnTargets = function spawnTargets() { for (var i = 0; i < 3; i++) { var target = game.addChild(new Target()); target.speed = targetSpeed; target.x = Math.random() * 2048; target.y = Math.random() * (2732 - target.height * 2); targets.push(target); } for (var i = 0; i < 1; i++) { var enemy = game.addChild(new Enemy()); enemy.speed = targetSpeed; enemy.x = Math.random() * 2048; enemy.y = Math.random() * (2732 - enemy.height * 2); enemies.push(enemy); } }; LK.on('tick', function () { if (targets.length == 0) { spawnTargets(); } }); var axe; game.on('down', function (x, y, obj) { var pos = game.toLocal(obj.global); axe = game.addChild(new Axe()); LK.getSound('axe').play(); axe.x = pos.x; axe.y = 2732 - axe.height + 295; axes.push(axe); }); LK.on('tick', function () { for (var i = 0; i < targets.length; i++) { targets[i]._move_migrated(); } for (var i = 0; i < axes.length; i++) { axes[i]._move_migrated(); if (axes[i].y < -50) { axes[i].destroy(); axes.splice(i, 1); } if (axes[i].y <= 0) { LK.showGameOver(); } } for (var i = 0; i < enemies.length; i++) { enemies[i]._move_migrated(); for (var j = 0; j < axes.length; j++) { if (axes[j].intersects(enemies[i])) { LK.showGameOver(); return; } } } for (var i = 0; i < axes.length; i++) { for (var j = 0; j < targets.length; j++) { if (axes[i].intersects(targets[j])) { var distance = Math.sqrt(Math.pow(axes[i].x - targets[j].x, 2) + Math.pow(axes[i].y - targets[j].y, 2)); score += Math.max(0, 100 - distance) + 50; scoreTxt.setText(score); axes[i].destroy(); axes.splice(i, 1); targets[j].destroy(); targets.splice(j, 1); kills++; if (kills % 3 == 0) { targetSpeed += 1; } break; } } } });
/****
* Classes
****/
var Axe = Container.expand(function () {
var self = Container.call(this);
var axeGraphics = self.attachAsset('axe', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 40;
self.gravity = 0.3; // Adjusted gravity effect
self.velocityY = -self.speed; // Initial upward velocity
self._move_migrated = function () {
self.velocityY += self.gravity; // Apply gravity to velocity
self.y += self.velocityY; // Update position with velocity
self.rotation += 0.1;
};
});
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.direction = 1;
self.scaleFactor = 0.1; // Initial small scale
self.growthRate = 0.01; // Rate at which the enemy grows
self._move_migrated = function () {
// Randomize direction change
if (Math.random() < 0.05) {
self.direction = Math.random() * 2 * Math.PI; // Random angle
}
// Update position based on direction
self.x += self.speed * Math.cos(self.direction);
self.y += self.speed * Math.sin(self.direction);
// Keep enemy within bounds
if (self.x <= 0 || self.x >= 2048) {
self.direction = Math.PI - self.direction; // Reflect horizontally
}
if (self.y <= 0 || self.y >= 2732) {
self.direction = -self.direction; // Reflect vertically
}
// Increase size until normal size is reached
if (self.scaleFactor < 1) {
self.scaleFactor += self.growthRate;
self.scale.set(self.scaleFactor, self.scaleFactor);
}
};
});
var Target = Container.expand(function () {
var self = Container.call(this);
var targetGraphics = self.attachAsset('target', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.direction = 1;
self._move_migrated = function () {
self.x += self.speed * self.direction;
if (self.x <= 0 || self.x >= 2048) {
self.direction *= -1;
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
var background = game.attachAsset('green_grass_field', {});
background.width = 2048;
background.height = 2732;
var targets = [];
var axes = [];
var score = 0;
var kills = 0;
var targetSpeed = 5;
var enemies = [];
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff",
font: "Impact",
dropShadow: true,
dropShadowColor: "#000000"
});
scoreTxt.anchor.set(.5, 0);
LK.gui.top.addChild(scoreTxt);
// Add button-1 to the bottom right corner
var button1 = game.attachAsset('button-1', {
anchorX: 1.0,
anchorY: 1.0,
x: 2048,
y: 2732
});
game.addChild(button1);
var buttonCost = 100; // Initial cost for using the button
button1.down = function (x, y, obj) {
if (score >= buttonCost) {
// Deduct score
score -= buttonCost;
scoreTxt.setText(score);
// Increase cost for next use
buttonCost += 50;
// Remove all enemies
for (var i = 0; i < enemies.length; i++) {
enemies[i].destroy();
}
enemies = [];
}
};
var spawnTargets = function spawnTargets() {
for (var i = 0; i < 3; i++) {
var target = game.addChild(new Target());
target.speed = targetSpeed;
target.x = Math.random() * 2048;
target.y = Math.random() * (2732 - target.height * 2);
targets.push(target);
}
for (var i = 0; i < 1; i++) {
var enemy = game.addChild(new Enemy());
enemy.speed = targetSpeed;
enemy.x = Math.random() * 2048;
enemy.y = Math.random() * (2732 - enemy.height * 2);
enemies.push(enemy);
}
};
LK.on('tick', function () {
if (targets.length == 0) {
spawnTargets();
}
});
var axe;
game.on('down', function (x, y, obj) {
var pos = game.toLocal(obj.global);
axe = game.addChild(new Axe());
LK.getSound('axe').play();
axe.x = pos.x;
axe.y = 2732 - axe.height + 295;
axes.push(axe);
});
LK.on('tick', function () {
for (var i = 0; i < targets.length; i++) {
targets[i]._move_migrated();
}
for (var i = 0; i < axes.length; i++) {
axes[i]._move_migrated();
if (axes[i].y < -50) {
axes[i].destroy();
axes.splice(i, 1);
}
if (axes[i].y <= 0) {
LK.showGameOver();
}
}
for (var i = 0; i < enemies.length; i++) {
enemies[i]._move_migrated();
for (var j = 0; j < axes.length; j++) {
if (axes[j].intersects(enemies[i])) {
LK.showGameOver();
return;
}
}
}
for (var i = 0; i < axes.length; i++) {
for (var j = 0; j < targets.length; j++) {
if (axes[i].intersects(targets[j])) {
var distance = Math.sqrt(Math.pow(axes[i].x - targets[j].x, 2) + Math.pow(axes[i].y - targets[j].y, 2));
score += Math.max(0, 100 - distance) + 50;
scoreTxt.setText(score);
axes[i].destroy();
axes.splice(i, 1);
targets[j].destroy();
targets.splice(j, 1);
kills++;
if (kills % 3 == 0) {
targetSpeed += 1;
}
break;
}
}
}
});
axe sprite Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon shooting target sprite Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon field background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.