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 ****/ //<Assets used in the game will automatically appear here> //<Write game logic code here, including initializing arrays and variables> 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(); } };
===================================================================
--- original.js
+++ change.js
@@ -1,87 +1,87 @@
-/****
+/****
* 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 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;
- };
+ 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
+ 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>
+//<Write game logic code here, including initializing arrays and variables>
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();
+ 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();
- }
+ 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();
+ }
};
\ No newline at end of file