/**** * Classes ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Bubble class representing each bubble in the game var Bubble = Container.expand(function () { var self = Container.call(this); var bubbleGraphics = self.attachAsset('bubble', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for bubbles if needed }; }); // LevelMap class representing the level map var LevelMap = Container.expand(function () { var self = Container.call(this); self.levels = [ // Level 1 [{ x: 0, y: 0, bubble: new Bubble() }, { x: 100, y: 0, bubble: new Bubble() }, { x: 200, y: 0, bubble: new Bubble() } // Add more bubbles as needed ] // Add more levels as needed ]; self.currentLevel = 0; self.loadLevel = function (level) { // Clear old level for (var i = self.children.length - 1; i >= 0; i--) { self.children[i].destroy(); } // Load new level for (var i = 0; i < self.levels[level].length; i++) { var bubble = self.levels[level][i].bubble; bubble.x = self.levels[level][i].x; bubble.y = self.levels[level][i].y; self.addChild(bubble); } }; self.nextLevel = function () { if (self.currentLevel < self.levels.length - 1) { self.currentLevel++; self.loadLevel(self.currentLevel); } else { // Game over, player won LK.showGameOver(); } }; }); // Shooter class representing the bubble shooter var Shooter = Container.expand(function () { var self = Container.call(this); var shooterGraphics = self.attachAsset('shooter', { anchorX: 0.5, anchorY: 0.5 }); self.shoot = function () { // Logic to shoot a bubble var newBubble = new Bubble(); newBubble.x = self.x; newBubble.y = self.y; bubbles.push(newBubble); game.addChild(newBubble); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize variables var levelMap = game.addChild(new LevelMap()); levelMap.loadLevel(0); var shooter = game.addChild(new Shooter()); shooter.x = 2048 / 2; shooter.y = 2732 - 100; // Position shooter near the bottom // Function to handle shooting function handleShoot(x, y, obj) { shooter.shoot(); } // Event listener for shooting game.down = function (x, y, obj) { handleShoot(x, y, obj); }; // Update function called every frame game.update = function () { for (var i = levelMap.children.length - 1; i >= 0; i--) { levelMap.children[i].update(); // Check for collisions or out-of-bounds bubbles if (levelMap.children[i].y < 0) { levelMap.children[i].destroy(); } } // Check if level is complete if (levelMap.children.length == 0) { levelMap.nextLevel(); } }; // Add more game logic as needed
===================================================================
--- original.js
+++ change.js
@@ -1,68 +1,118 @@
-/****
+/****
* Classes
-****/
+****/
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Bubble class representing each bubble in the game
var Bubble = Container.expand(function () {
- var self = Container.call(this);
- var bubbleGraphics = self.attachAsset('bubble', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.update = function () {
- // Update logic for bubbles if needed
- };
+ var self = Container.call(this);
+ var bubbleGraphics = self.attachAsset('bubble', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.update = function () {
+ // Update logic for bubbles if needed
+ };
});
+// LevelMap class representing the level map
+var LevelMap = Container.expand(function () {
+ var self = Container.call(this);
+ self.levels = [
+ // Level 1
+ [{
+ x: 0,
+ y: 0,
+ bubble: new Bubble()
+ }, {
+ x: 100,
+ y: 0,
+ bubble: new Bubble()
+ }, {
+ x: 200,
+ y: 0,
+ bubble: new Bubble()
+ }
+ // Add more bubbles as needed
+ ]
+ // Add more levels as needed
+ ];
+ self.currentLevel = 0;
+ self.loadLevel = function (level) {
+ // Clear old level
+ for (var i = self.children.length - 1; i >= 0; i--) {
+ self.children[i].destroy();
+ }
+ // Load new level
+ for (var i = 0; i < self.levels[level].length; i++) {
+ var bubble = self.levels[level][i].bubble;
+ bubble.x = self.levels[level][i].x;
+ bubble.y = self.levels[level][i].y;
+ self.addChild(bubble);
+ }
+ };
+ self.nextLevel = function () {
+ if (self.currentLevel < self.levels.length - 1) {
+ self.currentLevel++;
+ self.loadLevel(self.currentLevel);
+ } else {
+ // Game over, player won
+ LK.showGameOver();
+ }
+ };
+});
// Shooter class representing the bubble shooter
var Shooter = Container.expand(function () {
- var self = Container.call(this);
- var shooterGraphics = self.attachAsset('shooter', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.shoot = function () {
- // Logic to shoot a bubble
- var newBubble = new Bubble();
- newBubble.x = self.x;
- newBubble.y = self.y;
- bubbles.push(newBubble);
- game.addChild(newBubble);
- };
+ var self = Container.call(this);
+ var shooterGraphics = self.attachAsset('shooter', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.shoot = function () {
+ // Logic to shoot a bubble
+ var newBubble = new Bubble();
+ newBubble.x = self.x;
+ newBubble.y = self.y;
+ bubbles.push(newBubble);
+ game.addChild(newBubble);
+ };
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000 //Init game with black background
+ backgroundColor: 0x000000 //Init game with black background
});
-/****
+/****
* Game Code
-****/
+****/
// Initialize variables
-var bubbles = [];
+var levelMap = game.addChild(new LevelMap());
+levelMap.loadLevel(0);
var shooter = game.addChild(new Shooter());
shooter.x = 2048 / 2;
shooter.y = 2732 - 100; // Position shooter near the bottom
// Function to handle shooting
function handleShoot(x, y, obj) {
- shooter.shoot();
+ shooter.shoot();
}
// Event listener for shooting
game.down = function (x, y, obj) {
- handleShoot(x, y, obj);
+ handleShoot(x, y, obj);
};
// Update function called every frame
game.update = function () {
- for (var i = bubbles.length - 1; i >= 0; i--) {
- bubbles[i].update();
- // Check for collisions or out-of-bounds bubbles
- if (bubbles[i].y < 0) {
- bubbles[i].destroy();
- bubbles.splice(i, 1);
- }
- }
+ for (var i = levelMap.children.length - 1; i >= 0; i--) {
+ levelMap.children[i].update();
+ // Check for collisions or out-of-bounds bubbles
+ if (levelMap.children[i].y < 0) {
+ levelMap.children[i].destroy();
+ }
+ }
+ // Check if level is complete
+ if (levelMap.children.length == 0) {
+ levelMap.nextLevel();
+ }
};
// Add more game logic as needed
\ No newline at end of file