Code edit (8 edits merged)
Please save this source code
User prompt
Fix Bug: 'TypeError: Cannot set properties of undefined (setting 'x')' in or related to this line: 'grounds.gr.x = 2732;' Line Number: 138
Code edit (10 edits merged)
Please save this source code
User prompt
Fix Bug: 'TypeError: Cannot read properties of undefined (reading 'move')' in or related to this line: 'grounds[i].move();' Line Number: 136
User prompt
Fix Bug: 'Uncaught ReferenceError: i is not defined' in or related to this line: 'grounds[i] = new Ground();' Line Number: 127
Code edit (1 edits merged)
Please save this source code
/**** * Classes ****/ // Grizzly Bear class var GrizzlyBear = Container.expand(function () { var self = Container.call(this); var bearGraphics = LK.getAsset('grizzlyBear', { anchorX: 0.5, anchorY: 1 }); self.addChild(bearGraphics); self.isJumping = false; self.jumpSpeed = 0; self.gravity = 0.4; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.jumpSpeed = -18; } }; self.fall = function () { if (self.isJumping) { self.jumpSpeed += self.gravity; self.y += self.jumpSpeed; if (self.y >= 2832 - self.height) { self.y = 2832 - self.height; self.isJumping = false; } } }; }); // Tree class var Tree = Container.expand(function () { var self = Container.call(this); var treeGraphics = LK.getAsset('tree', { anchorX: 0.5, anchorY: 1 }); self.addChild(treeGraphics); self.speed = 1; self.move = function () { self.x -= self.speed; if (self.x < -self.width) { self.destroy(); } }; }); // Lemming class var Lemming = Container.expand(function () { var self = Container.call(this); var lemmingGraphics = LK.getAsset('lemming', { anchorX: 0.5, anchorY: 1 }); self.addChild(lemmingGraphics); self.speed = 3; self.move = function () { self.x -= self.speed; if (self.x < -self.width) { self.destroy(); } }; }); // Rock class var Rock = Container.expand(function () { var self = Container.call(this); var rockGraphics = LK.getAsset('rock', { anchorX: 0.5, anchorY: 1 }); self.addChild(rockGraphics); self.speed = 5; self.move = function () { self.x -= self.speed; if (self.x < -self.width) { self.destroy(); } }; }); // Ground class var Ground = Container.expand(function () { var self = Container.call(this); var groundGraphics = LK.getAsset('ground', { anchorX: 0.5, anchorY: 1 }); self.addChild(groundGraphics); self.speed = 1; self.move = function () { self.x -= self.speed; if (self.x < -2048) { // Assuming the ground asset is the same width as the game width self.x = 0; // Loop the ground to create a continuous moving effect } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ // Initialize important asset arrays and score var lemmings = []; var trees = []; var score = 0; var rocks = []; var grizzlyBear; // Create the Grizzly Bear grizzlyBear = game.addChild(new GrizzlyBear()); grizzlyBear.x = 200; grizzlyBear.y = 2732 - grizzlyBear.height + 100; // Create score display var scoreTxt = new Text2(score.toString(), { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Game tick event LK.on('tick', function () { // Move the ground if (!game.ground) { game.ground = game.addChildAt(new Ground(), 0); game.ground.x = 0; game.ground.y = 3200 - game.ground.height; // Position at the bottom of the screen } game.ground.move(); // Spawn Trees at intervals if (LK.ticks % 800 === 0) { var newTree = new Tree(); newTree.x = 2048; newTree.y = 2732 - newTree.height + 300; trees.push(newTree); game.addChildAt(newTree, 0); } // Make the Grizzly Bear fall grizzlyBear.fall(); // Move each Lemming and check for collision with GrizzlyBear for (var i = lemmings.length - 1; i >= 0; i--) { lemmings[i].move(); // Check if Lemming collides with GrizzlyBear and remove it if (grizzlyBear.intersects(lemmings[i])) { // Increase score by 10 when Grizzly Bear catches a Lemming score += 10; lemmings[i].destroy(); lemmings.splice(i, 1); continue; } // Check if Lemming is off screen and destroy it if (lemmings[i].x < -lemmings[i].width) { lemmings[i].destroy(); lemmings.splice(i, 1); } } // Move each Rock for (var i = rocks.length - 1; i >= 0; i--) { rocks[i].move(); // Check if Rock collides with GrizzlyBear and end the game if (grizzlyBear.intersects(rocks[i])) { LK.showGameOver(); } // Check if Rock is off screen and destroy it if (rocks[i].x < -rocks[i].width) { rocks[i].destroy(); rocks.splice(i, 1); } } // Move each Tree for (var i = trees.length - 1; i >= 0; i--) { trees[i].move(); // Check if Tree is off screen and destroy it if (trees[i].x < -trees[i].width) { trees[i].destroy(); trees.splice(i, 1); } } // Update score display text scoreTxt.setText(score.toString()); // Check if score reaches 100 and end the game as a win if (score >= 200) { LK.showGameOver(); } // Spawn Rocks at random intervals var rockSpawnInterval = Math.floor(Math.random() * 800) + 400; if (LK.ticks % rockSpawnInterval === 0) { var newRock = new Rock(); newRock.x = 2048; newRock.y = 2732 - newRock.height; rocks.push(newRock); game.addChildAt(newRock, game.children.length); } // Spawn Lemmings at random intervals var lemmingSpawnInterval = Math.floor(Math.random() * 200) + 40; if (LK.ticks % lemmingSpawnInterval === 0) { var newLemming = new Lemming(); newLemming.x = 2048; newLemming.y = 2732 - newLemming.height; lemmings.push(newLemming); game.addChildAt(newLemming, game.children.length); } }); // Touch event for Grizzly Bear to jump game.on('down', function () { grizzlyBear.jump(); });
/****
* Classes
****/
// Grizzly Bear class
var GrizzlyBear = Container.expand(function () {
var self = Container.call(this);
var bearGraphics = LK.getAsset('grizzlyBear', {
anchorX: 0.5,
anchorY: 1
});
self.addChild(bearGraphics);
self.isJumping = false;
self.jumpSpeed = 0;
self.gravity = 0.4;
self.jump = function () {
if (!self.isJumping) {
self.isJumping = true;
self.jumpSpeed = -18;
}
};
self.fall = function () {
if (self.isJumping) {
self.jumpSpeed += self.gravity;
self.y += self.jumpSpeed;
if (self.y >= 2832 - self.height) {
self.y = 2832 - self.height;
self.isJumping = false;
}
}
};
});
// Tree class
var Tree = Container.expand(function () {
var self = Container.call(this);
var treeGraphics = LK.getAsset('tree', {
anchorX: 0.5,
anchorY: 1
});
self.addChild(treeGraphics);
self.speed = 1;
self.move = function () {
self.x -= self.speed;
if (self.x < -self.width) {
self.destroy();
}
};
});
// Lemming class
var Lemming = Container.expand(function () {
var self = Container.call(this);
var lemmingGraphics = LK.getAsset('lemming', {
anchorX: 0.5,
anchorY: 1
});
self.addChild(lemmingGraphics);
self.speed = 3;
self.move = function () {
self.x -= self.speed;
if (self.x < -self.width) {
self.destroy();
}
};
});
// Rock class
var Rock = Container.expand(function () {
var self = Container.call(this);
var rockGraphics = LK.getAsset('rock', {
anchorX: 0.5,
anchorY: 1
});
self.addChild(rockGraphics);
self.speed = 5;
self.move = function () {
self.x -= self.speed;
if (self.x < -self.width) {
self.destroy();
}
};
});
// Ground class
var Ground = Container.expand(function () {
var self = Container.call(this);
var groundGraphics = LK.getAsset('ground', {
anchorX: 0.5,
anchorY: 1
});
self.addChild(groundGraphics);
self.speed = 1;
self.move = function () {
self.x -= self.speed;
if (self.x < -2048) {
// Assuming the ground asset is the same width as the game width
self.x = 0; // Loop the ground to create a continuous moving effect
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Sky blue background
});
/****
* Game Code
****/
// Initialize important asset arrays and score
var lemmings = [];
var trees = [];
var score = 0;
var rocks = [];
var grizzlyBear;
// Create the Grizzly Bear
grizzlyBear = game.addChild(new GrizzlyBear());
grizzlyBear.x = 200;
grizzlyBear.y = 2732 - grizzlyBear.height + 100;
// Create score display
var scoreTxt = new Text2(score.toString(), {
size: 150,
fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Game tick event
LK.on('tick', function () {
// Move the ground
if (!game.ground) {
game.ground = game.addChildAt(new Ground(), 0);
game.ground.x = 0;
game.ground.y = 3200 - game.ground.height; // Position at the bottom of the screen
}
game.ground.move();
// Spawn Trees at intervals
if (LK.ticks % 800 === 0) {
var newTree = new Tree();
newTree.x = 2048;
newTree.y = 2732 - newTree.height + 300;
trees.push(newTree);
game.addChildAt(newTree, 0);
}
// Make the Grizzly Bear fall
grizzlyBear.fall();
// Move each Lemming and check for collision with GrizzlyBear
for (var i = lemmings.length - 1; i >= 0; i--) {
lemmings[i].move();
// Check if Lemming collides with GrizzlyBear and remove it
if (grizzlyBear.intersects(lemmings[i])) {
// Increase score by 10 when Grizzly Bear catches a Lemming
score += 10;
lemmings[i].destroy();
lemmings.splice(i, 1);
continue;
}
// Check if Lemming is off screen and destroy it
if (lemmings[i].x < -lemmings[i].width) {
lemmings[i].destroy();
lemmings.splice(i, 1);
}
}
// Move each Rock
for (var i = rocks.length - 1; i >= 0; i--) {
rocks[i].move();
// Check if Rock collides with GrizzlyBear and end the game
if (grizzlyBear.intersects(rocks[i])) {
LK.showGameOver();
}
// Check if Rock is off screen and destroy it
if (rocks[i].x < -rocks[i].width) {
rocks[i].destroy();
rocks.splice(i, 1);
}
}
// Move each Tree
for (var i = trees.length - 1; i >= 0; i--) {
trees[i].move();
// Check if Tree is off screen and destroy it
if (trees[i].x < -trees[i].width) {
trees[i].destroy();
trees.splice(i, 1);
}
}
// Update score display text
scoreTxt.setText(score.toString());
// Check if score reaches 100 and end the game as a win
if (score >= 200) {
LK.showGameOver();
}
// Spawn Rocks at random intervals
var rockSpawnInterval = Math.floor(Math.random() * 800) + 400;
if (LK.ticks % rockSpawnInterval === 0) {
var newRock = new Rock();
newRock.x = 2048;
newRock.y = 2732 - newRock.height;
rocks.push(newRock);
game.addChildAt(newRock, game.children.length);
}
// Spawn Lemmings at random intervals
var lemmingSpawnInterval = Math.floor(Math.random() * 200) + 40;
if (LK.ticks % lemmingSpawnInterval === 0) {
var newLemming = new Lemming();
newLemming.x = 2048;
newLemming.y = 2732 - newLemming.height;
lemmings.push(newLemming);
game.addChildAt(newLemming, game.children.length);
}
});
// Touch event for Grizzly Bear to jump
game.on('down', function () {
grizzlyBear.jump();
});
Cartoon style cute apple tree with small branches. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Cartoon style cute rock. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A cute lemming running while holding a nutella cup. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. Cartoon style.