Code edit (1 edits merged)
Please save this source code
User prompt
every jump is stronger while double jumps are weaker, add a second dashback feature when player dashed back
User prompt
make the second double jump weaker, and add a double dash too
User prompt
add a slightly double jump
User prompt
delete the "tap left to jump, tap right to dash back" and change movements to "tap right to jump, tap left to dash back" so the player can see white rectangles to see if they are touching right.
User prompt
Please fix the bug: 'leftTouchArea is undefined' in or related to this line: 'leftTouchArea.alpha = 0.3;' Line Number: 125
User prompt
make enemies and big flying enemies slower and draw canvas on screen to inform player where to touch or not (not writing as string, instead draw white rectangles to point out where to touch on screen)
User prompt
make the dashBack smoother and a bit longer, and add some canvas to screen to let the player know the controls of dash and jumps
User prompt
make them slower and add player to back dash movement, when player dashed to back it should go back its old position and there should be a cooldown for dash
User prompt
speeds of enemies should be same but faster and make them spawn more
Code edit (2 edits merged)
Please save this source code
User prompt
add big flying enemies
User prompt
make the enemies size change every time and randomize their speed
Code edit (3 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Text is not a constructor' in or related to this line: 'var scoreText = new Text('0', {' Line Number: 83
Code edit (1 edits merged)
Please save this source code
User prompt
fix score text. add right into the game
Remix started
Copy Mario vs Monsters
/**** * Classes ****/ // Define a class for enemies var Enemy = Container.expand(function () { var self = Container.call(this); // Randomize enemy size var size = Math.random() * 0.5 + 0.5; var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5, scaleX: size, scaleY: size }); // Randomize enemy speed self.speed = Math.random() * 5 + 5; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); //<Assets used in the game will automatically appear here> // Define a class for the player character var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.jumpHeight = 40; self.isJumping = false; self.velocityY = 0; self.update = function () { if (self.isJumping) { self.y += self.velocityY; self.velocityY += 0.7; // Decreased gravity effect by 30% if (self.y >= 2732 / 2) { // Ground level self.y = 2732 / 2; self.isJumping = false; self.velocityY = 0; } } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.velocityY = -self.jumpHeight; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ var background = game.addChild(LK.getAsset('background', { anchorX: 0, anchorY: 0 })); background.x = 0; background.y = 0; // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2732 / 2; // Initialize enemies var enemies = []; var enemySpawnInterval = 100; var enemySpawnCounter = 0; // Create a new Text2 object to display the score var scoreText = new Text2('0', { size: 100, fill: 0x000000 }); // Add the score text to the game GUI at the top right of the screen game.addChild(scoreText); scoreText.x = 2048 / 2; scoreText.y = 100; // Handle game updates game.update = function () { player.update(); // Spawn enemies enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { var enemy = new Enemy(); enemy.x = 2096; enemy.y = 2732 / 2; enemies.push(enemy); game.addChild(enemy); // Randomize the spawn interval for the next enemy enemySpawnInterval = Math.floor(Math.random() * 150) + 50; enemySpawnCounter = 0; } // Update enemies for (var j = enemies.length - 1; j >= 0; j--) { enemies[j].update(); if (player.intersects(enemies[j])) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } else if (player.x > enemies[j].x && !enemies[j].passed) { enemies[j].passed = true; LK.setScore(LK.getScore() + 1); scoreText.setText(LK.getScore()); } } }; // Handle player jump game.down = function (x, y, obj) { player.jump(); };
===================================================================
--- original.js
+++ change.js
@@ -3,13 +3,18 @@
****/
// Define a class for enemies
var Enemy = Container.expand(function () {
var self = Container.call(this);
+ // Randomize enemy size
+ var size = Math.random() * 0.5 + 0.5;
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
- anchorY: 0.5
+ anchorY: 0.5,
+ scaleX: size,
+ scaleY: size
});
- self.speed = 5;
+ // Randomize enemy speed
+ self.speed = Math.random() * 5 + 5;
self.update = function () {
self.x -= self.speed;
if (self.x < -50) {
self.destroy();
@@ -77,9 +82,9 @@
size: 100,
fill: 0x000000
});
// Add the score text to the game GUI at the top right of the screen
-LK.gui.topRight.addChild(scoreText);
+game.addChild(scoreText);
scoreText.x = 2048 / 2;
scoreText.y = 100;
// Handle game updates
game.update = function () {