User prompt
пересечение объектов игрока и противника в радиусе изображения, а не объекта
User prompt
пересечение игрока и противника проверяется по изображению картинки игрока X=90 y=190
User prompt
исправить ошибку, когда столкновение еще не произошло, а уже game over
User prompt
пересечение игрока и противника проверяется по изображению картинок, а не по X=200 y=100
Code edit (1 edits merged)
Please save this source code
User prompt
изменить скорость поворота с 1 градуса на 0.5 градуса
User prompt
скорость поворота у противника = 1 градус
User prompt
при преследовании игрока, противник плавно разворачивается = 1 градус
User prompt
правая сторона задает направление противника
User prompt
поворачивать плавно изображение противника, левая сторона задает направление противника
User prompt
противник преследует цель столкновения с игроком и летит за ним
Code edit (2 edits merged)
Please save this source code
User prompt
сделать проверку пересечение изображений в рамках x=200, y=100
User prompt
самолет должен летать между боковыми стенами без game over
User prompt
добавить такую же проверку по X координате
User prompt
исправить ошибку, когда столкновении игрока и противника засчитывается после того, как они уже врезались
User prompt
сделать смерить при столкновении в радиусе изображения, а не объекта
Code edit (1 edits merged)
Please save this source code
User prompt
добавить противника бота, который летает по карте и пытается убить игрока
User prompt
противник начинает движение горизонтально, а потом может двигаться вертикально
User prompt
противник не может пересечь health_bar
Code edit (1 edits merged)
Please save this source code
User prompt
механика поворотов противника, такая же как у игрока
User prompt
против летит 2 секунды горизонтально, потом направление раномно меняется
Code edit (1 edits merged)
Please save this source code
===================================================================
--- original.js
+++ change.js
@@ -41,11 +41,21 @@
} else if (self.y > 2752 - self.height) {
self.y = 2752 - self.height;
self.speedY = 0;
}
- // Rotate the enemy image smoothly by 1 degree, the right side sets the direction of the enemy
- var angle = Math.atan2(-self.speedY, -self.speedX);
- enemyGraphics.rotation += Math.PI / 180; // Add 1 degree (in radians) for smooth rotation
+ // Rotate the enemy image smoothly, the right side sets the direction of the enemy
+ var targetAngle = Math.atan2(-self.speedY, -self.speedX);
+ var diff = targetAngle - enemyGraphics.rotation;
+ if (diff > Math.PI) {
+ diff -= 2 * Math.PI;
+ } else if (diff < -Math.PI) {
+ diff += 2 * Math.PI;
+ }
+ if (diff > 0) {
+ enemyGraphics.rotation += Math.min(diff, Math.PI / 180);
+ } else {
+ enemyGraphics.rotation += Math.max(diff, -Math.PI / 180);
+ }
};
});
// Plane1 class
var Plane1 = Container.expand(function () {
снаряд от пушки. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
чистое голубое небо. задний фон. мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Артиллерийское оружие, смотрит вверх. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Нажатие по экрану. Палец. Мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.