User prompt
в каждой новой волне врагов, количества врагов увеличивается на 1
User prompt
новая волна не появляется пока не убиты враги прошлой волны
User prompt
волны появления зомби по 10, каждая последующая волна + 1 враг
User prompt
зомби появляются с меньшей интенсивностью
User prompt
увеличь скорость стрельбы
User prompt
добавь задний фон, болото
User prompt
при управлении игрок стоит на месте, а карта прокручивается под ним
User prompt
зомби появляются не волнами а бесконечно
User prompt
скорость стрельбы увеличивается с каждой новой волной, скорость стрельбы не увеливается от убийства врагов
User prompt
сделай волны зомби, каждый этап новый этап зомби на 20% больше и они на 1% быстрее двигаются в каждой волне
User prompt
враги стремятся к герою
User prompt
уменьши количество выпускаемых пуль, и увеличь скорость полета пуль
User prompt
с каждым убитым врагом увеличивается скорочть стрельбы и скорость респавна врагов
User prompt
выведи счетчик убитых врагов на экран
User prompt
добавь в интерфевейс количество жизней
User prompt
у игрока три жизни, если враг коснется игрока, то одна жизнь исчезает, если жизни заканчиватюся - игрок игрок умирает
User prompt
стреляют автоматически в направлении ближайшего к игроку врага
User prompt
пули убивают врагов
User prompt
игрок постоянно следует за мышкой
User prompt
игрок двигается мышью
Initial prompt
battle of the hordes
===================================================================
--- original.js
+++ change.js
@@ -41,14 +41,17 @@
var self = Container.call(this);
var enemyGraphics = self.createAsset('enemy', 'Enemy character', 0.5, 0.5);
self.speed = 2;
self.move = function () {
- // Movement towards the hero's position
- var dx = hero.x - self.x;
- var dy = hero.y - self.y;
- var angle = Math.atan2(dy, dx);
- self.x += Math.cos(angle) * self.speed;
- self.y += Math.sin(angle) * self.speed;
+ // Inverse movement to simulate map scrolling
+ self.move = function (touchPosition) {
+ if (touchPosition) {
+ var dx = (2048 / 2 - touchPosition.x) * 0.1;
+ var dy = (2732 / 2 - touchPosition.y) * 0.1;
+ self.x += dx;
+ self.y += dy;
+ }
+ };
};
});
// Bullet class
var Bullet = Container.expand(function () {
@@ -131,13 +134,8 @@
// Game tick event
LK.on('tick', function () {
// Move the hero towards the touch position
- if (game.touchPosition) {
- hero.x += (game.touchPosition.x - hero.x) * 0.1;
- hero.y += (game.touchPosition.y - hero.y) * 0.1;
- }
-
// Move bullets and check for collisions with enemies
for (var i = bullets.length - 1; i >= 0; i--) {
bullets[i].move();
// Check for bullet-enemy collisions
@@ -163,9 +161,9 @@
}
// Move enemies
for (var j = enemies.length - 1; j >= 0; j--) {
- enemies[j].move();
+ enemies[j].move(game.touchPosition);
if (enemies[j].intersects(hero)) {
hero.lives -= 1; // Decrease hero's lives by one
hero.updateLives(); // Update the lives display
LK.effects.flashScreen(0xff0000, 500); // Flash screen red for half a second
hero with a gun, shoots forward, top view, topdown. Single Game Texture. In-Game asset. 2d.TopDown. Blank background. High contrast. No shadows.
metal ball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A fireball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
heart. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
zombie kamikaze, vertical top view. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
opponent for the game, zombie kamikaze, vertical top view. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.