User prompt
do not make the pipe cone in a sequence . make like that if one pipe come in up than another should come in middle or down
User prompt
make the pipe length long
User prompt
there should not be any gap in vertical pipes
User prompt
connect the vertical pipes
User prompt
join the vertical pipes
User prompt
while i am tapping the bird goes up too less distance
Code edit (1 edits merged)
Please save this source code
Initial prompt
Flappy bird
/**** * Classes ****/ //<Assets used in the game will automatically appear here> // Bird class var Bird = Container.expand(function () { var self = Container.call(this); var birdGraphics = self.attachAsset('bird', { anchorX: 0.5, anchorY: 0.5 }); self.velocity = 0; self.gravity = 0.5; self.lift = -15; self.update = function () { self.velocity += self.gravity; self.y += self.velocity; if (self.y > 2732 - birdGraphics.height / 2) { self.y = 2732 - birdGraphics.height / 2; self.velocity = 0; } if (self.y < birdGraphics.height / 2) { self.y = birdGraphics.height / 2; self.velocity = 0; } }; self.flap = function () { self.velocity = self.lift; }; }); // Pipe class var Pipe = Container.expand(function () { var self = Container.call(this); var pipeGraphics = self.attachAsset('pipe', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -5; self.update = function () { self.x += self.speed; if (self.x < -pipeGraphics.width / 2) { self.destroy(); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Init game with sky blue background }); /**** * Game Code ****/ var bird = game.addChild(new Bird()); bird.x = 2048 / 4; bird.y = 2732 / 2; var pipes = []; var score = 0; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); function spawnPipe() { var topPipe = new Pipe(); var bottomPipe = new Pipe(); var pipeYPositions = [0, 2732 / 3, 2 * 2732 / 3]; // Top, middle, bottom positions var randomIndex = Math.floor(Math.random() * pipeYPositions.length); topPipe.y = pipeYPositions[randomIndex]; bottomPipe.y = topPipe.y + topPipe.height - 10; // Adjusted to remove the gap var pipeX = 2048; // Set the same x-coordinate for both pipes topPipe.x = pipeX; bottomPipe.x = pipeX; pipes.push(game.addChild(topPipe)); pipes.push(game.addChild(bottomPipe)); } game.down = function (x, y, obj) { bird.flap(); }; game.update = function () { bird.update(); for (var i = pipes.length - 1; i >= 0; i--) { pipes[i].update(); if (pipes[i].intersects(bird)) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } if (pipes[i].x < bird.x && !pipes[i].scored) { score++; pipes[i].scored = true; scoreTxt.setText(score); } } if (LK.ticks % 90 == 0) { spawnPipe(); } };
===================================================================
--- original.js
+++ change.js
@@ -67,9 +67,11 @@
LK.gui.top.addChild(scoreTxt);
function spawnPipe() {
var topPipe = new Pipe();
var bottomPipe = new Pipe();
- topPipe.y = Math.random() * (2732 - topPipe.height);
+ var pipeYPositions = [0, 2732 / 3, 2 * 2732 / 3]; // Top, middle, bottom positions
+ var randomIndex = Math.floor(Math.random() * pipeYPositions.length);
+ topPipe.y = pipeYPositions[randomIndex];
bottomPipe.y = topPipe.y + topPipe.height - 10; // Adjusted to remove the gap
var pipeX = 2048; // Set the same x-coordinate for both pipes
topPipe.x = pipeX;
bottomPipe.x = pipeX;