User prompt
debug the game, as it seems to be bugging and stopping
User prompt
Make sure that between objects in the horizontal line, there is always at least one centimeter separating them.
User prompt
or that no object have the same position in the horizontal line
User prompt
overlap arts with screams or arts with slaps or slaps with screams
User prompt
Increase the speed of following.
User prompt
Puts music, as in the assets, music.
User prompt
quantity of arts that fall.
/**** * Classes ****/ // Assets will be automatically created and loaded by the LK engine based on their usage in the code. // Class for the Couple var Couple = Container.expand(function () { var self = Container.call(this); var coupleGraphics = self.attachAsset('couple', { anchorX: 0.5, anchorY: 0.5 }); self.lives = 3; self.update = function () { // Update logic for the couple }; self.loseLife = function () { self.lives -= 1; if (self.lives <= 0) { LK.showGameOver(); } }; }); // Class for Falling Objects var FallingObject = Container.expand(function (type) { var self = Container.call(this); var assetId = type === 'heart' ? 'heart' : type === 'scream' ? 'scream' : 'slap'; var fallingObjectGraphics = self.attachAsset(assetId, { anchorX: 0.5, anchorY: 0.5 }); self.type = type; self.speed = FallingObject.prototype.speed || 10; self.update = function () { self.y += self.speed; if (self.y > 2732) { if (self.type === 'heart') { fallenHearts++; if (fallenHearts >= 5) { LK.showGameOver(); } } self.destroy(); } }; }); /**** * Initialize Game ****/ var game = new LK.Game(); /**** * Game Code ****/ LK.playMusic('gameMusic'); var background = game.attachAsset('Background', { anchorX: 0, anchorY: 0, width: 2048, height: 2732 }); // Initialize game variables var couple = game.addChild(new Couple()); couple.x = 2048 / 2; couple.y = 2732 - 200; var fallingObjects = []; var score = 0; var gameTime = 0; var fallenHearts = 0; // New variable to keep track of fallen hearts // Function to handle movement function handleMove(x, y, obj) { couple.x = x; } // Function to spawn falling objects function spawnFallingObject(type) { var newObject = new FallingObject(type); newObject.y = 0; // Ensure that no object have the same position in the horizontal line do { newObject.x = Math.random() * (2048 - newObject.width); var overlap = false; for (var i = 0; i < fallingObjects.length; i++) { if (Math.abs(newObject.x - fallingObjects[i].x) < newObject.width + 100) { // 100 pixels is approximately 1 cm on most screens overlap = true; break; } } } while (overlap); fallingObjects.push(newObject); game.addChild(newObject); } // Game update function game.update = function () { for (var i = fallingObjects.length - 1; i >= 0; i--) { if (fallingObjects[i].intersects(couple)) { if (fallingObjects[i].type === 'heart') { score += 10; } else { couple.loseLife(); } fallingObjects[i].destroy(); fallingObjects.splice(i, 1); } } if (LK.ticks % 240 === 0) { gameTime++; if (gameTime % 10 === 0) { FallingObject.prototype.speed += 5; } if (Math.random() < 0.52) { for (var i = 0; i < 3; i++) { spawnFallingObject('scream'); spawnFallingObject('slap'); } } } if (LK.ticks % 120 === 0) { spawnFallingObject('heart'); } }; // Event listeners game.move = handleMove; game.down = handleMove; game.up = function (x, y, obj) { // Handle touch release };
===================================================================
--- original.js
+++ change.js
@@ -105,9 +105,9 @@
}
if (LK.ticks % 240 === 0) {
gameTime++;
if (gameTime % 10 === 0) {
- FallingObject.prototype.speed += 5000;
+ FallingObject.prototype.speed += 5;
}
if (Math.random() < 0.52) {
for (var i = 0; i < 3; i++) {
spawnFallingObject('scream');