User prompt
make it so that if the player goes out the obstacle bottom and obstacle top that the game over screen will be played
User prompt
make it so that the player jumps a little higher
User prompt
make the player bigger and make the hitbox as big as the player
User prompt
make it so that if the player falls that the game over screen will start
Initial prompt
flappy bird
===================================================================
--- original.js
+++ change.js
@@ -1,98 +1,100 @@
-/****
+/****
* Classes
-****/
+****/
// Obstacle class
var Obstacle = Container.expand(function () {
- var self = Container.call(this);
- var topObstacle = self.attachAsset('obstacleTop', {
- anchorX: 0.5,
- anchorY: 1
- });
- var bottomObstacle = self.attachAsset('obstacleBottom', {
- anchorX: 0.5,
- anchorY: 0
- });
- self.gap = 500;
- bottomObstacle.y = topObstacle.y + topObstacle.height + self.gap;
- self.move = function () {
- self.x -= 2;
- };
+ var self = Container.call(this);
+ var topObstacle = self.attachAsset('obstacleTop', {
+ anchorX: 0.5,
+ anchorY: 1
+ });
+ var bottomObstacle = self.attachAsset('obstacleBottom', {
+ anchorX: 0.5,
+ anchorY: 0
+ });
+ self.gap = 500;
+ bottomObstacle.y = topObstacle.y + topObstacle.height + self.gap;
+ self.move = function () {
+ self.x -= 2;
+ };
});
// Assets will be automatically generated based on usage in the code.
// Player class
var Player = Container.expand(function () {
- var self = Container.call(this);
- var playerGraphics = self.attachAsset('player', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.velocityY = 0;
- self.gravity = 0.25;
- self.lift = -6;
- self.flap = function () {
- self.velocityY = self.lift;
- };
- self.update = function () {
- self.velocityY += self.gravity;
- self.y += self.velocityY;
- if (self.y > 2732) {
- self.y = 2732;
- self.velocityY = 0;
- }
- if (self.y < 0) {
- self.y = 0;
- self.velocityY = 0;
- }
- };
+ var self = Container.call(this);
+ var playerGraphics = self.attachAsset('player', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.velocityY = 0;
+ self.gravity = 0.25;
+ self.lift = -6;
+ self.flap = function () {
+ self.velocityY = self.lift;
+ };
+ self.update = function () {
+ self.velocityY += self.gravity;
+ self.y += self.velocityY;
+ if (self.y > 2732) {
+ self.y = 2732;
+ self.velocityY = 0;
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+ if (self.y < 0) {
+ self.y = 0;
+ self.velocityY = 0;
+ }
+ };
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x87CEEB // Light blue background to simulate sky
+ backgroundColor: 0x87CEEB // Light blue background to simulate sky
});
-/****
+/****
* Game Code
-****/
+****/
var player = game.addChild(new Player());
player.x = 2048 / 4;
player.y = 2732 / 2;
var obstacles = [];
var score = 0;
var scoreTxt = LK.gui.top.addChild(new Text2(score.toString(), {
- size: 150,
- fill: "#ffffff"
+ size: 150,
+ fill: "#ffffff"
}));
scoreTxt.anchor.set(0.5, 0);
scoreTxt.x = 2048 / 2;
function spawnObstacle() {
- var obstacle = new Obstacle();
- obstacle.x = 2048;
- obstacle.y = Math.floor(Math.random() * (2732 - obstacle.gap));
- obstacles.push(obstacle);
- game.addChild(obstacle);
+ var obstacle = new Obstacle();
+ obstacle.x = 2048;
+ obstacle.y = Math.floor(Math.random() * (2732 - obstacle.gap));
+ obstacles.push(obstacle);
+ game.addChild(obstacle);
}
LK.on('tick', function () {
- player.update();
- if (LK.ticks % 120 == 0) {
- spawnObstacle();
- }
- for (var i = obstacles.length - 1; i >= 0; i--) {
- obstacles[i].move();
- if (obstacles[i].x + obstacles[i].width < 0) {
- obstacles[i].destroy();
- obstacles.splice(i, 1);
- score += 1;
- scoreTxt.setText(score.toString());
- }
- if (player.intersects(obstacles[i])) {
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- }
- }
+ player.update();
+ if (LK.ticks % 120 == 0) {
+ spawnObstacle();
+ }
+ for (var i = obstacles.length - 1; i >= 0; i--) {
+ obstacles[i].move();
+ if (obstacles[i].x + obstacles[i].width < 0) {
+ obstacles[i].destroy();
+ obstacles.splice(i, 1);
+ score += 1;
+ scoreTxt.setText(score.toString());
+ }
+ if (player.intersects(obstacles[i])) {
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+ }
});
game.on('down', function () {
- player.flap();
+ player.flap();
});
\ No newline at end of file