Code edit (3 edits merged)
Please save this source code
User prompt
противники появляются раз в 1.5 секунды
Code edit (2 edits merged)
Please save this source code
User prompt
увеличить скорость полета пули на 2
User prompt
если в противника уже попали, то повторно в него попасть нельзя, пуля пролетает на свкозь
User prompt
если в противника попали, то повторно пуля в него не попадает, а пролетает на сквозь
Code edit (1 edits merged)
Please save this source code
User prompt
выстрел можно производить раз в 0.5 секунд
Code edit (3 edits merged)
Please save this source code
User prompt
после того как в противника попали и он начинает падать вниз, он исчезает на расстоянии y=2300, а не за нижней частью экрана
User prompt
после попадания в противника, противник исчезает на случайном расстоянии по y координате от 2200 до 2500
User prompt
после попадания в противника, противник плавно начинает вращаться на 45 градусов
Code edit (1 edits merged)
Please save this source code
User prompt
Change the enemy's movement after being hit to move at an angle of 5 degrees
User prompt
после попадания в противника, противник летит не горизонтально вниз а под углом в 20 градусов
Code edit (1 edits merged)
Please save this source code
User prompt
после попадания в противника, противник летит вниз со скоростью 25
User prompt
если пуля попадает в противника, противник не исчезает, а начинает лететь вниз под 15 градусов и уменьшается на 20 пикселей каждую секунду
Code edit (1 edits merged)
Please save this source code
User prompt
пуля в течение полета уменьшается на 3 пикселя каждую секунду
User prompt
УБРАТЬ вращение противников
User prompt
Migrate to the latest version of LK
Code edit (2 edits merged)
Please save this source code
User prompt
противники появляются с рандомным размером от 100 до 200
Code edit (1 edits merged)
Please save this source code
/**** * Classes ****/ // Enemy class for targets var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 4; self._move_migrated = function () { self.x += self.speed; }; }); // Assets are automatically created based on usage in the code. // Bullet class for bullets fired by the player var PlayerBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('playerBullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -20; self._move_migrated = function () { self.x += self.speed * Math.cos(this.direction); self.y += self.speed * Math.sin(this.direction); }; self.distanceTo = function (other) { var dx = other.x - this.x; var dy = other.y - this.y; return Math.sqrt(dx * dx + dy * dy); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0xFFFFFF // Init game with white background }); /**** * Game Code ****/ // Create a background var background = game.addChild(new Container()); var backgroundGraphics = background.attachAsset('background', { anchorX: 0.5, anchorY: 0.5 }); background.x = 1024; // Center horizontally background.y = 1366; // Center vertically var playerBullets = []; var enemies = []; var spawnEnemyInterval = 120; // Frames until next enemy spawns var enemySpawnTimer = 0; // Function to spawn enemies function spawnEnemy() { var enemySize = Math.random() * (200 - 130) + 130; var enemy = new Enemy(); enemy.scale.x = enemySize / 200; enemy.scale.y = enemySize / 200; enemy.x = -130; // Start at the left enemy.y = Math.random() * (1366 - 100) + 100; // Random position from 100 to 1366 enemies.push(enemy); game.addChild(enemy); } // Function to fire a bullet function fireBullet() { var bullet = new PlayerBullet(); bullet.x = 1024; // Center horizontally bullet.y = 2632; // Bottom of the screen playerBullets.push(bullet); game.addChild(bullet); return bullet; } // Touch event to fire bullets var lastBulletTime = 0; game.on('down', function (x, y, obj) { if (LK.ticks - lastBulletTime >= 60 || playerBullets.length === 0) { // 60 ticks = 1 second at 60FPS var bullet = fireBullet(); var touchPos = game.toLocal(obj.global); var angle = Math.atan2(2632 - touchPos.y, 1024 - touchPos.x); bullet.direction = angle; // Set direction to shoot towards the touch point lastBulletTime = LK.ticks; } }); // Main game loop LK.on('tick', function () { // Move bullets for (var i = playerBullets.length - 1; i >= 0; i--) { playerBullets[i]._move_migrated(); if (playerBullets[i].y < 0) { // Remove bullets that go off screen playerBullets[i].destroy(); playerBullets.splice(i, 1); } } // Move enemies for (var j = enemies.length - 1; j >= 0; j--) { enemies[j]._move_migrated(); if (enemies[j].y > 2732) { // Remove enemies that go off screen enemies[j].destroy(); enemies.splice(j, 1); } } // Check for collisions for (var b = playerBullets.length - 1; b >= 0; b--) { for (var e = enemies.length - 1; e >= 0; e--) { if (playerBullets[b] && enemies[e] && playerBullets[b].intersects(enemies[e]) && playerBullets[b].distanceTo(enemies[e]) <= 100) { // Destroy both bullet and enemy on collision playerBullets[b].destroy(); playerBullets.splice(b, 1); enemies[e].destroy(); enemies.splice(e, 1); break; // Exit loop after collision to avoid errors } } } // Spawn enemies if (enemySpawnTimer <= 0) { spawnEnemy(); enemySpawnTimer = spawnEnemyInterval; } else { enemySpawnTimer--; } });
===================================================================
--- original.js
+++ change.js
@@ -10,9 +10,8 @@
});
self.speed = 4;
self._move_migrated = function () {
self.x += self.speed;
- self.rotation += 0.25; // Add rotation to the enemy
};
});
// Assets are automatically created based on usage in the code.
// Bullet class for bullets fired by the player
черный шар. 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.
Белая мультяшная утка держит ружье и направляет в экран.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
вывеска на двух ниточках с надписью: TImakovDS. 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.