User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'setText')' in or related to this line: 'scoreTxt.setText(LK.getScore());' Line Number: 94
User prompt
Make score option
User prompt
Make win screen when score 5000
User prompt
Make win screen
User prompt
Make the bird not square shape
Initial prompt
Flying bird
/****
* Classes
****/
//<Write imports for supported plugins here>
//<Write entity 'classes' with empty functions for important behavior here>
var Bird = Container.expand(function () {
var self = Container.call(this);
var birdGraphics = self.attachAsset('bird', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedY = 0;
self.gravity = 0.5;
self.flapStrength = -10;
self.update = function () {
self.speedY += self.gravity;
self.y += self.speedY;
};
self.flap = function () {
self.speedY = self.flapStrength;
};
});
var Block = Container.expand(function () {
var self = Container.call(this);
var blockGraphics = self.attachAsset('block', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedX = -5;
self.update = function () {
self.x += self.speedX;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87ceeb // Init game with sky blue background
});
/****
* Game Code
****/
//<Write game logic code here, including initializing arrays and variables>
//<Assets used in the game will automatically appear here>
var bird = game.addChild(new Bird());
bird.x = 300;
bird.y = 1366; // Center vertically
var blocks = [];
var blockInterval = 100; // Interval for block generation
var lastBlockTime = 0;
game.down = function (x, y, obj) {
bird.flap();
};
game.update = function () {
bird.update();
// Generate new blocks
if (LK.ticks - lastBlockTime > blockInterval) {
var block = new Block();
block.x = 2048;
block.y = Math.random() * 2000 + 366; // Random vertical position
blocks.push(block);
game.addChild(block);
lastBlockTime = LK.ticks;
}
// Update blocks and check for collisions
for (var i = blocks.length - 1; i >= 0; i--) {
var block = blocks[i];
block.update();
if (block.x < -block.width) {
block.destroy();
blocks.splice(i, 1);
continue;
}
if (bird.intersects(block)) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
return;
}
}
// Check if bird is out of bounds
if (bird.y < 0 || bird.y > 2732) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
}; /****
* Classes
****/
//<Write imports for supported plugins here>
//<Write entity 'classes' with empty functions for important behavior here>
var Bird = Container.expand(function () {
var self = Container.call(this);
var birdGraphics = self.attachAsset('bird', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedY = 0;
self.gravity = 0.5;
self.flapStrength = -10;
self.update = function () {
self.speedY += self.gravity;
self.y += self.speedY;
};
self.flap = function () {
self.speedY = self.flapStrength;
};
});
var Block = Container.expand(function () {
var self = Container.call(this);
var blockGraphics = self.attachAsset('block', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedX = -5;
self.update = function () {
self.x += self.speedX;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87ceeb // Init game with sky blue background
});
/****
* Game Code
****/
//<Write game logic code here, including initializing arrays and variables>
//<Assets used in the game will automatically appear here>
var bird = game.addChild(new Bird());
bird.x = 300;
bird.y = 1366; // Center vertically
var blocks = [];
var blockInterval = 100; // Interval for block generation
var lastBlockTime = 0;
game.down = function (x, y, obj) {
bird.flap();
};
game.update = function () {
bird.update();
// Generate new blocks
if (LK.ticks - lastBlockTime > blockInterval) {
var block = new Block();
block.x = 2048;
block.y = Math.random() * 2000 + 366; // Random vertical position
blocks.push(block);
game.addChild(block);
lastBlockTime = LK.ticks;
}
// Update blocks and check for collisions
for (var i = blocks.length - 1; i >= 0; i--) {
var block = blocks[i];
block.update();
if (block.x < -block.width) {
block.destroy();
blocks.splice(i, 1);
continue;
}
if (bird.intersects(block)) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
return;
}
}
// Check if bird is out of bounds
if (bird.y < 0 || bird.y > 2732) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
};