User prompt
Only the road gets moved not the buildings
User prompt
Make it lower
User prompt
Make a road rectangle
User prompt
Add more buildings
User prompt
Make an animation of building being reconstructed by making a fade in effect
User prompt
Make a sound when it explodes
User prompt
Make a little road with cars driving on it
User prompt
Please fix the bug: 'Timeout.tick error: LK.effects.shakeScreen is not a function' in or related to this line: 'LK.effects.shakeScreen(500);' Line Number: 26
User prompt
Make it shake the screen when it explodes
User prompt
It didnt flasht eh screen
User prompt
Add a animation of buildings being reconstructed
User prompt
Make the bomb wait for 1 second, And then explodes
User prompt
The bomb isnt shown, Which makes it unused
User prompt
When all buildings are destroyed, add new ones, Also add a explosion effect
Initial prompt
Demolishin'
/**** * Classes ****/ // Bomb class var Bomb = Container.expand(function () { var self = Container.call(this); var bombGraphics = self.attachAsset('bomb', { anchorX: 0.5, anchorY: 0.5 }); self.explode = function () { // Create explosion effect var explosion = new Explosion(); explosion.x = self.x; explosion.y = self.y; game.addChild(explosion); explosion.init(); // Damage nearby buildings for (var i = 0; i < buildings.length; i++) { if (self.intersects(buildings[i])) { buildings[i].takeDamage(50); } } self.destroy(); }; }); //<Assets used in the game will automatically appear here> // Building class var Building = Container.expand(function () { var self = Container.call(this); var buildingGraphics = self.attachAsset('building', { anchorX: 0.5, anchorY: 0.5 }); self.health = 100; self.update = function () { if (self.health <= 0) { self.destroy(); } }; self.takeDamage = function (damage) { self.health -= damage; }; }); // Explosion class var Explosion = Container.expand(function () { var self = Container.call(this); self.init = function () { // Create explosion effect LK.effects.flashObject(self, 0xff0000, 500); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize buildings array var buildings = []; // Create buildings for (var i = 0; i < 5; i++) { var building = new Building(); building.x = 400 * (i + 1); building.y = 1366; buildings.push(building); game.addChild(building); } // Initialize bombs array var bombs = []; // Handle touch down event to place bombs game.down = function (x, y, obj) { var bomb = new Bomb(); bomb.x = x; bomb.y = y; bombs.push(bomb); game.addChild(bomb); bomb.explode(); }; // Update game state game.update = function () { for (var i = buildings.length - 1; i >= 0; i--) { buildings[i].update(); if (buildings[i].health <= 0) { buildings.splice(i, 1); } } for (var j = bombs.length - 1; j >= 0; j--) { if (bombs[j].destroyed) { bombs.splice(j, 1); } } // Add new buildings when all are destroyed if (buildings.length === 0) { for (var i = 0; i < 5; i++) { var building = new Building(); building.x = 400 * (i + 1); building.y = 1366; buildings.push(building); game.addChild(building); } } };
===================================================================
--- original.js
+++ change.js
@@ -1,86 +1,108 @@
-/****
+/****
* Classes
-****/
+****/
// Bomb class
var Bomb = Container.expand(function () {
- var self = Container.call(this);
- var bombGraphics = self.attachAsset('bomb', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.explode = function () {
- // Create explosion effect
- LK.effects.flashObject(self, 0xff0000, 500);
- // Damage nearby buildings
- for (var i = 0; i < buildings.length; i++) {
- if (self.intersects(buildings[i])) {
- buildings[i].takeDamage(50);
- }
- }
- self.destroy();
- };
+ var self = Container.call(this);
+ var bombGraphics = self.attachAsset('bomb', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.explode = function () {
+ // Create explosion effect
+ var explosion = new Explosion();
+ explosion.x = self.x;
+ explosion.y = self.y;
+ game.addChild(explosion);
+ explosion.init();
+ // Damage nearby buildings
+ for (var i = 0; i < buildings.length; i++) {
+ if (self.intersects(buildings[i])) {
+ buildings[i].takeDamage(50);
+ }
+ }
+ self.destroy();
+ };
});
//<Assets used in the game will automatically appear here>
// Building class
var Building = Container.expand(function () {
- var self = Container.call(this);
- var buildingGraphics = self.attachAsset('building', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.health = 100;
- self.update = function () {
- if (self.health <= 0) {
- self.destroy();
- }
- };
- self.takeDamage = function (damage) {
- self.health -= damage;
- };
+ var self = Container.call(this);
+ var buildingGraphics = self.attachAsset('building', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.health = 100;
+ self.update = function () {
+ if (self.health <= 0) {
+ self.destroy();
+ }
+ };
+ self.takeDamage = function (damage) {
+ self.health -= damage;
+ };
});
+// Explosion class
+var Explosion = Container.expand(function () {
+ var self = Container.call(this);
+ self.init = function () {
+ // Create explosion effect
+ LK.effects.flashObject(self, 0xff0000, 500);
+ };
+});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000 //Init game with black background
+ backgroundColor: 0x000000 //Init game with black background
});
-/****
+/****
* Game Code
-****/
+****/
// Initialize buildings array
var buildings = [];
// Create buildings
for (var i = 0; i < 5; i++) {
- var building = new Building();
- building.x = 400 * (i + 1);
- building.y = 1366;
- buildings.push(building);
- game.addChild(building);
+ var building = new Building();
+ building.x = 400 * (i + 1);
+ building.y = 1366;
+ buildings.push(building);
+ game.addChild(building);
}
// Initialize bombs array
var bombs = [];
// Handle touch down event to place bombs
game.down = function (x, y, obj) {
- var bomb = new Bomb();
- bomb.x = x;
- bomb.y = y;
- bombs.push(bomb);
- game.addChild(bomb);
- bomb.explode();
+ var bomb = new Bomb();
+ bomb.x = x;
+ bomb.y = y;
+ bombs.push(bomb);
+ game.addChild(bomb);
+ bomb.explode();
};
// Update game state
game.update = function () {
- for (var i = buildings.length - 1; i >= 0; i--) {
- buildings[i].update();
- if (buildings[i].health <= 0) {
- buildings.splice(i, 1);
- }
- }
- for (var j = bombs.length - 1; j >= 0; j--) {
- if (bombs[j].destroyed) {
- bombs.splice(j, 1);
- }
- }
+ for (var i = buildings.length - 1; i >= 0; i--) {
+ buildings[i].update();
+ if (buildings[i].health <= 0) {
+ buildings.splice(i, 1);
+ }
+ }
+ for (var j = bombs.length - 1; j >= 0; j--) {
+ if (bombs[j].destroyed) {
+ bombs.splice(j, 1);
+ }
+ }
+ // Add new buildings when all are destroyed
+ if (buildings.length === 0) {
+ for (var i = 0; i < 5; i++) {
+ var building = new Building();
+ building.x = 400 * (i + 1);
+ building.y = 1366;
+ buildings.push(building);
+ game.addChild(building);
+ }
+ }
};
\ No newline at end of file