User prompt
игра зависает
User prompt
враги все равно появляются друг на друге исправь
User prompt
враги при появлении не должны появляться друг в друге
User prompt
враги при появлении не должны появляться друг в друге
User prompt
сократи время шлейфа до 200мс
User prompt
перепиши все примечания в коде на русский язык и добавь новые чтобы лучше понимать
User prompt
Увеличь время жизни шлейфа до 400 млс
User prompt
шлейф должен плавно увеличиваться и исчезать
User prompt
шлейф должен отображаться под пулей
User prompt
шлейф должен быть из белых шаров и исчезать через 0.1 секунду
User prompt
добавь эффект шлейфа к пуле. Белый дым плавно увеличивающейся и исчезающий
User prompt
враг должен не перемещаться а уничтожаться от попадания
User prompt
включи звук выстрела у пули
User prompt
враги должны появляться бесконечно
User prompt
враги должны отображаться над звездами
User prompt
отключи привязку скорости звезд от размера
User prompt
нет от 1 до 5
User prompt
добавь скорость звездам от 5 до 10
User prompt
убери скорость звезд пусть стоят на месте
User prompt
некоторые звезды проносятся слишком быстро сделай минимальную скорость всем звездам
User prompt
нет до 20
User prompt
ограничь скорость звезд до максимальной в 50
User prompt
еще на 200
User prompt
уменьши скорость звезд на 200%
User prompt
звезды должны быть разного размера ( от 5 до 25) и пролетать с разной скоростью. Чем больше звезда тем больше скорость
/**** * Classes ****/ /**** * Классы ****/ // Определение класса для пуль var Bullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -10; self.update = function () { self.y += self.speed; if (self.y < 0) { self.destroy(); } // Добавление эффекта шлейфа к пуле var trail = LK.getAsset('star', { anchorX: 0.5, anchorY: 0.5, alpha: 1, scaleX: 0.1, scaleY: 0.1 }); trail.x = self.x; trail.y = self.y + bulletGraphics.height / 2; // Adjust the y position to display the trail under the bullet game.addChild(trail); // Increase the size of the trail and then destroy it var increaseSize = LK.setInterval(function () { trail.scaleX += 0.05; trail.scaleY += 0.05; trail.alpha -= 0.05; if (trail.alpha <= 0) { LK.clearInterval(increaseSize); trail.destroy(); } }, 10); }; }); // Определение класса для врагов var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 3; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); // Определение класса для звезд // Случайный размер звезды // Установить скорость звезды от 1 до 5 var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { // Определение класса для персонажа игрока }; }); // Define a class for the stars var Star = Container.expand(function () { var self = Container.call(this); // Randomize the size of the star self.size = Math.random() * 20 + 5; var starGraphics = self.attachAsset('star', { anchorX: 0.5, anchorY: 0.5, scaleX: self.size / 25, scaleY: self.size / 25 }); // Set the speed of the star between 1 and 5 self.speed = Math.random() * 4 + 1; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); /**** * Initialize Game ****/ /**** * Инициализация игры ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Инициализация игры с черным фоном }); /**** * Game Code ****/ /**** * Активы ****/ /**** * Код игры ****/ // Инициализация звезд // Инициализация врагов // Инициализация пуль // Инициализация игрока // Обработка движения игрока // Обработка стрельбы // Обновление состояния игры // Проверка на столкновения var stars = []; for (var i = 0; i < 50; i++) { var star = new Star(); star.x = Math.random() * 2048; star.y = Math.random() * 2732; stars.push(star); game.addChild(star); } var enemies = []; for (var i = 0; i < 5; i++) { var enemy = new Enemy(); enemy.x = Math.random() * 2048; enemy.y = Math.random() * 1000; enemies.push(enemy); game.addChild(enemy); } var bullets = []; var player = game.addChild(new Player()); player.x = 1024; player.y = 2500; game.move = function (x, y, obj) { player.x = x; player.y = y; }; game.down = function (x, y, obj) { var bullet = new Bullet(); bullet.x = player.x; bullet.y = player.y; bullets.push(bullet); game.addChild(bullet); LK.getSound('Shut').play(); }; game.update = function () { player.update(); // Update enemies for (var i = enemies.length - 1; i >= 0; i--) { if (enemies[i].y > 2732) { enemies.splice(i, 1); } } // Generate new enemies if (enemies.length < 5) { var newEnemy = new Enemy(); newEnemy.x = Math.random() * 2048; newEnemy.y = 0; // Check if the new enemy intersects with any existing enemy var intersects = false; for (var i = 0; i < enemies.length; i++) { if (newEnemy.intersects(enemies[i])) { intersects = true; break; } } // If the new enemy intersects with an existing enemy, reposition it while (intersects) { newEnemy.x = Math.random() * 2048; newEnemy.y = 0; intersects = false; for (var i = 0; i < enemies.length; i++) { if (newEnemy.intersects(enemies[i])) { intersects = true; break; } } } // Add the new enemy enemies.push(newEnemy); game.addChild(newEnemy); } // Update bullets for (var j = bullets.length - 1; j >= 0; j--) { bullets[j].update(); if (bullets[j].y < 0) { bullets.splice(j, 1); } } // Update stars for (var i = stars.length - 1; i >= 0; i--) { stars[i].update(); if (stars[i].y > 2732) { stars.splice(i, 1); var newStar = new Star(); newStar.x = Math.random() * 2048; newStar.y = 0; // Set the size of the new star newStar.size = Math.random() * 20 + 5; // Set the speed of the new star between 1 and 5 newStar.speed = Math.random() * 4 + 1; stars.push(newStar); game.addChildAt(newStar, 0); } } // Check for collisions for (var k = bullets.length - 1; k >= 0; k--) { for (var l = enemies.length - 1; l >= 0; l--) { if (bullets[k] && enemies[l] && bullets[k].intersects(enemies[l])) { bullets[k].destroy(); enemies[l].destroy(); bullets.splice(k, 1); enemies.splice(l, 1); break; } } } };
===================================================================
--- original.js
+++ change.js
@@ -102,22 +102,22 @@
/****
* Game Code
****/
-// Проверка на столкновения
-// Обновление состояния игры
-// Обработка стрельбы
-// Обработка движения игрока
-// Инициализация игрока
-// Инициализация пуль
-// Инициализация врагов
-// Инициализация звезд
/****
-* Код игры
+* Активы
****/
/****
-* Активы
+* Код игры
****/
+// Инициализация звезд
+// Инициализация врагов
+// Инициализация пуль
+// Инициализация игрока
+// Обработка движения игрока
+// Обработка стрельбы
+// Обновление состояния игры
+// Проверка на столкновения
var stars = [];
for (var i = 0; i < 50; i++) {
var star = new Star();
star.x = Math.random() * 2048;
@@ -211,9 +211,9 @@
}
// Check for collisions
for (var k = bullets.length - 1; k >= 0; k--) {
for (var l = enemies.length - 1; l >= 0; l--) {
- if (bullets[k].intersects(enemies[l])) {
+ if (bullets[k] && enemies[l] && bullets[k].intersects(enemies[l])) {
bullets[k].destroy();
enemies[l].destroy();
bullets.splice(k, 1);
enemies.splice(l, 1);
Метеорит без огня пастельные цвета In-Game asset. 2d. High contrast. No shadows
Похожий
Иконка повышение урона, сочные цвета. In-Game asset. 2d. High contrast. No shadows. Comix
иконка на скорость атаки
надпись upgrade как красивая кнопка In-Game asset. 2d. High contrast. No shadows. comix
центральный круг желтый а внешний оранжевый
голубой вместо оранжевого
Красно оранжевый
Restyled
Разрешение 2048 на 400
молния должна быть с двух концов одинаковая и ответвления смотреть строго вверх и вниз а не наискосок
иконка шанса двойного урона (x2)
иконка голубой молнии без текста и цыферблата
иконка огня
Вместо молнии синяя снежинка, все остальное без изменений
сделать светлее
Комикс
сделать рамку толще в два раза и немного не правильной формы как в комиксах
сделать рамку тоньше сохранив стиль и цвета сочнее
надпись shop как красивая кнопка In-Game asset. 2d. High contrast. No shadows. comix
Рамка для всплывающей меню подсказки. In-Game asset. 2d. High contrast. No shadows
Крестик для закрытия окна. In-Game asset. 2d. High contrast. No shadows
Иконка английского языка флаг без текста In-Game asset. 2d. High contrast. No shadows
Заменить на российский без текста, рамку сохранить
Удалить желтый фон
Флаг земенить на немецкий рамки сохранить
Заменить на испанский, сохранить рамку.
сделать точно такуюже рамку но надпись заменить на shop. звезду заменить на ракету, а стрелку на щит
все оставить как есть но удалить черноту за рамками
круглая иконка подсказки I. In-Game asset. 2d. High contrast. No shadows
убери все звезды оставь только чистое небо
иконка восстановление здоровья много зеленых крестов в рамке, сочные цвета красивый фон. In-Game asset. 2d. High contrast. No shadows
синий щит на ярко оранжевом фоне
залп ракетного огня
шаровая молния. In-Game asset. 2d. High contrast. No shadows
башня тесла с молниями фон голубой
Огненный шар
перекрасить больше желтого и оранжевого
перекрасить больше голубого, светло-голубого,
турецкий флаг
Вместо огненного кольца, огненные шары разлетающие вверх в разные стороны
Текст убрать. Вместо молний снежинки
Вместо молнии снежинка, и покрасить в синий
Льдинка как стеклышко. In-Game asset. 2d. High contrast. No shadows
убрать дырку
бесформенная амеба
удали крывлья оставь только жука
оставь только крылья, удали жука
перекрась
Shoot
Sound effect
Boom
Sound effect
Pokupka
Sound effect
menu
Sound effect
molnia
Sound effect
krit
Sound effect
icetresk
Sound effect
peretik
Sound effect
music1
Music
music2
Music
music3
Music
musicFight
Music
udarshield
Sound effect
startraket
Sound effect
raketaudar
Sound effect
Ognemet
Sound effect
Tresklda
Sound effect
stop
Sound effect
goldsound
Sound effect
alien_bum
Sound effect