User prompt
color theme dark green background
User prompt
it shoots very small red squares
User prompt
pink square drags sideways and shoots red cubes
User prompt
make the pink square shoot green rays and when hitting the balls the score changes numbers
User prompt
make neon green balls descend and each time they are hit they disappear
User prompt
put dots at the top right color numbers white with illuminated blue border
User prompt
remove the green squares that come down
User prompt
remove the light green squares
User prompt
make the pink square big and fire light green squares and when hitting other squares make them disappear
Initial prompt
Yronix
===================================================================
--- original.js
+++ change.js
@@ -1,74 +1,78 @@
-/****
+/****
* Classes
-****/
+****/
// 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;
+ };
});
// EnemyBullet class
var EnemyBullet = Container.expand(function () {
- var self = Container.call(this);
- var bulletGraphics = self.attachAsset('enemyBullet', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = 5;
- self.move = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var bulletGraphics = self.attachAsset('enemyBullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 5;
+ self.move = function () {
+ self.y += self.speed;
+ };
});
// Assets will be automatically generated based on usage in the code.
// Hero class
var Hero = Container.expand(function () {
- var self = Container.call(this);
- var heroGraphics = self.attachAsset('hero', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.move = function (x, y) {
- self.x = x;
- self.y = y;
- };
- self.shoot = function () {
- var bullet = new HeroBullet();
- bullet.x = self.x;
- bullet.y = self.y - 50; // Shoot from above the hero
- game.addChild(bullet);
- heroBullets.push(bullet);
- };
+ var self = Container.call(this);
+ var heroGraphics = self.attachAsset('hero', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 2,
+ scaleY: 2
+ });
+ heroGraphics.tint = 0xFF69B4;
+ self.move = function (x, y) {
+ self.x = x;
+ self.y = y;
+ };
+ self.shoot = function () {
+ var bullet = new HeroBullet();
+ bullet.x = self.x;
+ bullet.y = self.y - 50; // Shoot from above the hero
+ game.addChild(bullet);
+ heroBullets.push(bullet);
+ };
});
// HeroBullet class
var HeroBullet = Container.expand(function () {
- var self = Container.call(this);
- var bulletGraphics = self.attachAsset('heroBullet', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = -10;
- self.move = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var bulletGraphics = self.attachAsset('heroBullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ bulletGraphics.tint = 0x90EE90;
+ self.speed = -10;
+ 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
-****/
+****/
// Global variables
var hero = new Hero();
hero.x = 1024; // Center horizontally
hero.y = 2500; // Near the bottom
@@ -78,56 +82,68 @@
// Add hero to the game
game.addChild(hero);
// Touch event to move hero and shoot
game.on('down', function (obj) {
- var pos = obj.event.getLocalPosition(game);
- hero.move(pos.x, pos.y);
- hero.shoot();
+ var pos = obj.event.getLocalPosition(game);
+ hero.move(pos.x, pos.y);
+ hero.shoot();
});
// Game tick event
LK.on('tick', function () {
- // Move hero bullets
- for (var i = heroBullets.length - 1; i >= 0; i--) {
- heroBullets[i].move();
- if (heroBullets[i].y < 0) {
- // Bullet off-screen
- heroBullets[i].destroy();
- heroBullets.splice(i, 1);
- }
- }
- // Move enemies and enemy bullets
- for (var j = enemies.length - 1; j >= 0; j--) {
- enemies[j].move();
- if (enemies[j].y > 2732) {
- // Enemy off-screen
- enemies[j].destroy();
- enemies.splice(j, 1);
- }
- }
- for (var k = enemyBullets.length - 1; k >= 0; k--) {
- enemyBullets[k].move();
- if (enemyBullets[k].y > 2732) {
- // Bullet off-screen
- enemyBullets[k].destroy();
- enemyBullets.splice(k, 1);
- }
- // Check collision with hero
- if (hero.intersects(enemyBullets[k])) {
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- }
- }
- // Spawn enemies and bullets
- if (LK.ticks % 120 == 0) {
- // Every 2 seconds
- var enemy = new Enemy();
- enemy.x = Math.random() * 2048;
- enemy.y = 0;
- game.addChild(enemy);
- enemies.push(enemy);
- var enemyBullet = new EnemyBullet();
- enemyBullet.x = enemy.x;
- enemyBullet.y = enemy.y + 50;
- game.addChild(enemyBullet);
- enemyBullets.push(enemyBullet);
- }
+ // Move hero bullets
+ for (var i = heroBullets.length - 1; i >= 0; i--) {
+ heroBullets[i].move();
+ if (heroBullets[i].y < 0) {
+ // Bullet off-screen
+ heroBullets[i].destroy();
+ heroBullets.splice(i, 1);
+ }
+ }
+ // Move enemies and enemy bullets
+ for (var j = enemies.length - 1; j >= 0; j--) {
+ enemies[j].move();
+ if (enemies[j].y > 2732) {
+ // Enemy off-screen
+ enemies[j].destroy();
+ enemies.splice(j, 1);
+ }
+ }
+ for (var k = enemyBullets.length - 1; k >= 0; k--) {
+ enemyBullets[k].move();
+ if (enemyBullets[k].y > 2732) {
+ // Bullet off-screen
+ enemyBullets[k].destroy();
+ enemyBullets.splice(k, 1);
+ }
+ // Check collision with hero
+ if (hero.intersects(enemyBullets[k])) {
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+ // Check collision between hero bullets and enemies
+ for (var i = heroBullets.length - 1; i >= 0; i--) {
+ for (var j = enemies.length - 1; j >= 0; j--) {
+ if (heroBullets[i].intersects(enemies[j])) {
+ enemies[j].destroy();
+ enemies.splice(j, 1);
+ heroBullets[i].destroy();
+ heroBullets.splice(i, 1);
+ break;
+ }
+ }
+ }
+ }
+ // Spawn enemies and bullets
+ if (LK.ticks % 120 == 0) {
+ // Every 2 seconds
+ var enemy = new Enemy();
+ enemy.x = Math.random() * 2048;
+ enemy.y = 0;
+ game.addChild(enemy);
+ enemies.push(enemy);
+ var enemyBullet = new EnemyBullet();
+ enemyBullet.x = enemy.x;
+ enemyBullet.y = enemy.y + 50;
+ game.addChild(enemyBullet);
+ enemyBullets.push(enemyBullet);
+ }
});
\ No newline at end of file