User prompt
make them faster and worth 8 points
User prompt
make the red enemies faster
User prompt
make the red enemies more rare
User prompt
make the red enemies faster
User prompt
they're still red
User prompt
now the non homing enemies are red too
User prompt
the homing enemies are not red
User prompt
make the enemies sometimes be red and home in on the player
User prompt
add a score counter in the corner
User prompt
it doesn't display the score on the game over screen
User prompt
add a score system that adds 1 to the score each time you defeat an enemy and displays the score on the game over screen
User prompt
make it so the game resets when you hit the enemies
User prompt
make it so when you click it fires
Initial prompt
dodge the lasers
===================================================================
--- original.js
+++ change.js
@@ -1,111 +1,111 @@
-/****
+/****
* Classes
****/
// Player class
var Player = Container.expand(function () {
- var self = Container.call(this);
- var playerGraphics = self.attachAsset('player', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.move = function (x, y) {
- self.x = x;
- self.y = y;
- };
+ var self = Container.call(this);
+ var playerGraphics = self.attachAsset('player', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.move = function (x, y) {
+ self.x = x;
+ self.y = y;
+ };
});
// Enemy class
var Enemy = Container.expand(function () {
- var self = Container.call(this);
- var enemyGraphics = self.attachAsset('enemy', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = 2;
- self.move = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var enemyGraphics = self.attachAsset('enemy', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 2;
+ self.move = function () {
+ self.y += self.speed;
+ };
});
// Laser class
var Laser = Container.expand(function () {
- var self = Container.call(this);
- var laserGraphics = self.attachAsset('laser', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = -5;
- self.move = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var laserGraphics = self.attachAsset('laser', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = -5;
+ self.move = function () {
+ self.y += self.speed;
+ };
});
-/****
+/****
* Initialize Game
****/
var game = new LK.Game({
- backgroundColor: 0x000000 // Init game with black background
+ backgroundColor: 0x000000 // Init game with black background
});
-/****
+/****
* Game Code
****/
+// Fire lasers when the game area is clicked
// Initialize player, enemy, and laser assets for the game.
+game.on('down', function () {
+ var laser = new Laser();
+ laser.x = player.x;
+ laser.y = player.y - 30; // Start slightly above the player
+ lasers.push(laser);
+ game.addChild(laser);
+});
var player = game.addChild(new Player());
player.x = 1024; // Center horizontally
player.y = 2500; // Position towards the bottom
var enemies = [];
var lasers = [];
// Create enemies at intervals
var enemySpawnTimer = LK.setInterval(function () {
- var enemy = new Enemy();
- enemy.x = Math.random() * 2048; // Random horizontal position
- enemy.y = 0; // Start at the top
- enemies.push(enemy);
- game.addChild(enemy);
+ var enemy = new Enemy();
+ enemy.x = Math.random() * 2048; // Random horizontal position
+ enemy.y = 0; // Start at the top
+ enemies.push(enemy);
+ game.addChild(enemy);
}, 2000);
// Handle touch move to control player
game.on('move', function (obj) {
- var pos = obj.event.getLocalPosition(game);
- player.move(pos.x, pos.y);
+ var pos = obj.event.getLocalPosition(game);
+ player.move(pos.x, pos.y);
});
-// Fire lasers at intervals
-var laserFireTimer = LK.setInterval(function () {
- var laser = new Laser();
- laser.x = player.x;
- laser.y = player.y - 30; // Start slightly above the player
- lasers.push(laser);
- game.addChild(laser);
-}, 500);
// Main game loop
LK.on('tick', function () {
- // Move enemies
- for (var i = enemies.length - 1; i >= 0; i--) {
- enemies[i].move();
- // Remove enemies that go off screen
- if (enemies[i].y > 2732) {
- enemies[i].destroy();
- enemies.splice(i, 1);
- }
- }
- // Move lasers
- for (var j = lasers.length - 1; j >= 0; j--) {
- lasers[j].move();
- // Remove lasers that go off screen
- if (lasers[j].y < 0) {
- lasers[j].destroy();
- lasers.splice(j, 1);
- }
- }
- // Check for collisions between lasers and enemies
- for (var k = lasers.length - 1; k >= 0; k--) {
- for (var l = enemies.length - 1; l >= 0; l--) {
- if (lasers[k].intersects(enemies[l])) {
- // Destroy both laser and enemy on collision
- lasers[k].destroy();
- lasers.splice(k, 1);
- enemies[l].destroy();
- enemies.splice(l, 1);
- break; // Exit the inner loop after a collision
- }
- }
- }
+ // Move enemies
+ for (var i = enemies.length - 1; i >= 0; i--) {
+ enemies[i].move();
+ // Remove enemies that go off screen
+ if (enemies[i].y > 2732) {
+ enemies[i].destroy();
+ enemies.splice(i, 1);
+ }
+ }
+ // Move lasers
+ for (var j = lasers.length - 1; j >= 0; j--) {
+ lasers[j].move();
+ // Remove lasers that go off screen
+ if (lasers[j].y < 0) {
+ lasers[j].destroy();
+ lasers.splice(j, 1);
+ }
+ }
+ // Check for collisions between lasers and enemies
+ for (var k = lasers.length - 1; k >= 0; k--) {
+ for (var l = enemies.length - 1; l >= 0; l--) {
+ if (lasers[k].intersects(enemies[l])) {
+ // Destroy both laser and enemy on collision
+ lasers[k].destroy();
+ lasers.splice(k, 1);
+ enemies[l].destroy();
+ enemies.splice(l, 1);
+ break; // Exit the inner loop after a collision
+ }
+ }
+ }
});
\ No newline at end of file
green cartoon laser. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
red cartoon laser. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pink cartoon laser. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
sci-fi cartoon spaceship. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.