User prompt
Karakterin hitboxunu %6 azalt
User prompt
Karakterin yer çekimi her azaldığında engellerin hızı %7 daha artsın
User prompt
Karakterin engellere çarpma hassasiyetini %20 azalt
User prompt
Karakterin engellere değme hassasiyetini düşür
User prompt
Karakter her engelden atladığında %10 oranında ileri atılsın ve kamera karakteri izlesin
User prompt
Her engeller hızlandırın karakterin yer çekimi %5 oranında azalsın
User prompt
Karakterin yer çekimini %20 azalt
User prompt
Oyuna her başlandığında engeller yavaş gelsin skor arttıkça engeller hızlansın
Remix started
Copy Mario vs Monsters
/**** * Classes ****/ // Define a class for enemies var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.8, scaleY: 0.8 }); self.speed = 2; // Default speed, will be overridden when spawned 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; // Calculate gravity based on score - decreases by 5% for each point var gravityReduction = LK.getScore() * 0.05; var currentGravity = 0.56 * (1 - gravityReduction); // Ensure gravity doesn't become negative or too small currentGravity = Math.max(currentGravity, 0.1); self.velocityY += currentGravity; 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; var baseEnemySpeed = 2; // Base speed for enemies at start // Create a new Text2 object to display the score var scoreText = new Text2('0', { size: 100, fill: 0xFFFFFF }); // Add the score text to the game GUI at the top center of the screen LK.gui.top.addChild(scoreText); scoreText.x = 2048 / 2; scoreText.y = 0; // Handle game updates game.update = function () { player.update(); // Spawn enemies enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2; // Set enemy speed based on current score - increases by 0.5 for each point enemy.speed = baseEnemySpeed + LK.getScore() * 0.5; 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
@@ -5,9 +5,11 @@
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
- anchorY: 0.5
+ anchorY: 0.5,
+ scaleX: 0.8,
+ scaleY: 0.8
});
self.speed = 2; // Default speed, will be overridden when spawned
self.update = function () {
self.x -= self.speed;
@@ -106,28 +108,15 @@
}
// Update enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].update();
- // Reduce collision sensitivity by checking distance instead of full intersection
- var dx = player.x - enemies[j].x;
- var dy = player.y - enemies[j].y;
- var distance = Math.sqrt(dx * dx + dy * dy);
- // Only trigger collision if very close (reduced from full hitbox to smaller radius)
- if (distance < 40) {
+ 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());
- // Boost player forward by 10%
- player.x += player.speed * 0.1;
- // Make camera follow the player by moving all game elements backwards
- var cameraOffset = player.speed * 0.1;
- background.x -= cameraOffset;
- for (var k = 0; k < enemies.length; k++) {
- enemies[k].x -= cameraOffset;
- }
}
}
};
// Handle player jump