User prompt
karakter zıplıyorken bir bool oluştur true yap yere geldiğinde zıplamayı false yap oyuncu ekrana tıkladığında veya basılı tutuğun zıplaması için zıplama durumunun false olması gereksin
User prompt
karaket zemine dokunmadan tekrar zıplayamsın
User prompt
karkter zıplama halindeyken bir daha zıplamasın yere inince tekrar zıplayabilsin
User prompt
düşman sadece player havadayken ilerlicek yerde olduğunda durucak
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
yerçekimini artır
User prompt
yerçekimini azalt
User prompt
yerçekimi yüzde 50 azalt
User prompt
karaktere yer çekimi ekle
User prompt
Oyuncu ekrana basılı tuttukça karakterin zıplama gücü artar. Parmağını kaldırdığı anda karakter, toplanan güce göre yukarı zıplar. Ne kadar uzun basarsa o kadar yükseğe sıçrar (örnek: 0.5 sn = 100 piksel, 1 sn = 250 piksel).
User prompt
zıplamayla alakalı bütün kodları sil
User prompt
oyuncu zemine düştükten sonra tekrar zıplayabilecek
User prompt
ekrana ne kadar basılı tutulursa karakter okadar zıplyacak ekranın alt kısmında zıplamanın gücünü göstericek bir bar olucak zıplamanında bir sınırı olucak
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
	});
	self.speed = 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 () {
		self.jump = function () {
			if (!self.isJumping) {
				self.isJumping = true;
				self.jumpHeight = powerBar.width / 100; // Update the player's jump height based on the power bar's width
				self.velocityY = -self.jumpHeight;
			}
		};
		if (!self.isJumping) {
			self.isJumping = true;
			self.velocityY = -self.jumpHeight;
		}
	};
});
// Define a class for the power bar
var PowerBar = Container.expand(function () {
	var self = Container.call(this);
	self.width = 0;
	self.height = 20;
	self.color = 0x00FF00;
	self.update = function () {
		self.width = game.holdTime;
		if (self.width > 2048) {
			self.width = 2048;
		}
	};
});
/**** 
* 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());
// Initialize power bar
var powerBar = game.addChild(new PowerBar());
powerBar.y = 2732 - powerBar.height;
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: 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
// Handle player jump
game.up = function (x, y, obj) {
	game.holding = false;
	player.jump();
};
game.update = function () {
	player.update();
	// Spawn enemies
	enemySpawnCounter++;
	if (enemySpawnCounter >= enemySpawnInterval) {
		var enemy = new Enemy();
		enemy.x = 2048;
		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 hold time
	if (game.holding) {
		game.holdTime++;
	}
	// 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) {
	game.holdTime = 0;
	game.holding = true;
}; ===================================================================
--- original.js
+++ change.js
@@ -40,14 +40,34 @@
 			}
 		}
 	};
 	self.jump = function () {
+		self.jump = function () {
+			if (!self.isJumping) {
+				self.isJumping = true;
+				self.jumpHeight = powerBar.width / 100; // Update the player's jump height based on the power bar's width
+				self.velocityY = -self.jumpHeight;
+			}
+		};
 		if (!self.isJumping) {
 			self.isJumping = true;
 			self.velocityY = -self.jumpHeight;
 		}
 	};
 });
+// Define a class for the power bar
+var PowerBar = Container.expand(function () {
+	var self = Container.call(this);
+	self.width = 0;
+	self.height = 20;
+	self.color = 0x00FF00;
+	self.update = function () {
+		self.width = game.holdTime;
+		if (self.width > 2048) {
+			self.width = 2048;
+		}
+	};
+});
 
 /**** 
 * Initialize Game
 ****/ 
@@ -65,8 +85,11 @@
 background.x = 0;
 background.y = 0;
 // Initialize player
 var player = game.addChild(new Player());
+// Initialize power bar
+var powerBar = game.addChild(new PowerBar());
+powerBar.y = 2732 - powerBar.height;
 player.x = 2048 / 2;
 player.y = 2732 / 2;
 // Initialize enemies
 var enemies = [];
@@ -74,15 +97,20 @@
 var enemySpawnCounter = 0;
 // Create a new Text2 object to display the score
 var scoreText = new Text2('0', {
 	size: 100,
-	fill: "#ffffff"
+	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
+// Handle player jump
+game.up = function (x, y, obj) {
+	game.holding = false;
+	player.jump();
+};
 game.update = function () {
 	player.update();
 	// Spawn enemies
 	enemySpawnCounter++;
@@ -95,8 +123,12 @@
 		// Randomize the spawn interval for the next enemy
 		enemySpawnInterval = Math.floor(Math.random() * 150) + 50;
 		enemySpawnCounter = 0;
 	}
+	// Update hold time
+	if (game.holding) {
+		game.holdTime++;
+	}
 	// Update enemies
 	for (var j = enemies.length - 1; j >= 0; j--) {
 		enemies[j].update();
 		if (player.intersects(enemies[j])) {
@@ -110,6 +142,7 @@
 	}
 };
 // Handle player jump
 game.down = function (x, y, obj) {
-	player.jump();
+	game.holdTime = 0;
+	game.holding = true;
 };
\ No newline at end of file