User prompt
oyunda uzaylılar olsun silahımızla onları vurup yok edelim
User prompt
oyunda trambolin olsun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
bir silahımız olsun
User prompt
karakter sürekli zıplasın
User prompt
150 coine ulaşınca bravo yazan bir tabele çıksın
User prompt
oyuna coin getir
User prompt
basılı tutma olsun
User prompt
sağa sola gidişatının hızını çok az azalt ve kayma olmasın
User prompt
sağa sola gidiş hızını arttır zıplamasını azalt
User prompt
zıplamasını 2 kat arttır
User prompt
sağa sola gitsin
Code edit (1 edits merged)
Please save this source code
User prompt
Dude Jump
Initial prompt
bana dule jump yap
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var Dude = Container.expand(function () { var self = Container.call(this); var dudeGraphics = self.attachAsset('dude', { anchorX: 0.5, anchorY: 0.5 }); self.velocityY = 0; self.isJumping = false; self.isOnPlatform = false; self.jumpPower = 25; self.gravity = 0.8; self.maxFallSpeed = 15; self.invincible = false; self.invincibleTimer = 0; self.jump = function () { if (self.isOnPlatform) { self.velocityY = -self.jumpPower; self.isJumping = true; self.isOnPlatform = false; LK.getSound('jump').play(); } }; self.update = function () { // Apply gravity self.velocityY += self.gravity; if (self.velocityY > self.maxFallSpeed) { self.velocityY = self.maxFallSpeed; } // Update position self.y += self.velocityY; // Handle invincibility timer if (self.invincible) { self.invincibleTimer--; if (self.invincibleTimer <= 0) { self.invincible = false; dudeGraphics.alpha = 1; } else { dudeGraphics.alpha = Math.sin(self.invincibleTimer * 0.3) * 0.5 + 0.5; } } // Keep dude on screen horizontally if (self.x < 40) self.x = 40; if (self.x > 2008) self.x = 2008; // Check if fallen off screen if (self.y > cameraY + 2732 + 200) { LK.showGameOver(); } }; return self; }); var Platform = Container.expand(function (type) { var self = Container.call(this); self.type = type || 'normal'; self.landed = false; self.disappearing = false; self.moveDirection = 1; self.moveRange = 300; self.startX = 0; var platformGraphics; if (self.type === 'moving') { platformGraphics = self.attachAsset('movingPlatform', { anchorX: 0.5, anchorY: 0.5 }); } else if (self.type === 'disappearing') { platformGraphics = self.attachAsset('disappearingPlatform', { anchorX: 0.5, anchorY: 0.5 }); } else if (self.type === 'powerup') { platformGraphics = self.attachAsset('powerUpPlatform', { anchorX: 0.5, anchorY: 0.5 }); } else { platformGraphics = self.attachAsset('platform', { anchorX: 0.5, anchorY: 0.5 }); } self.update = function () { // Moving platform behavior if (self.type === 'moving') { self.x += self.moveDirection * 2; if (self.x > self.startX + self.moveRange || self.x < self.startX - self.moveRange) { self.moveDirection *= -1; } } // Disappearing platform behavior if (self.type === 'disappearing' && self.landed && !self.disappearing) { self.disappearing = true; tween(platformGraphics, { alpha: 0 }, { duration: 1000, onFinish: function onFinish() { self.active = false; } }); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87ceeb }); /**** * Game Code ****/ var dude = game.addChild(new Dude()); var platforms = []; var cameraY = 0; var highestY = 2400; var lastPlatformY = 2400; var platformSpacing = 200; // Create score display var scoreTxt = new Text2('0', { size: 60, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Create height display var heightTxt = new Text2('Height: 0m', { size: 40, fill: 0xFFFFFF }); heightTxt.anchor.set(1, 0); heightTxt.x = -20; heightTxt.y = 20; LK.gui.topRight.addChild(heightTxt); // Initialize dude position dude.x = 1024; dude.y = 2400; // Create initial platforms function createPlatform(x, y, type) { var platform = new Platform(type); platform.x = x; platform.y = y; platform.startX = x; platform.active = true; platforms.push(platform); game.addChild(platform); return platform; } // Create starting platform createPlatform(1024, 2450, 'normal'); // Generate initial platforms for (var i = 0; i < 20; i++) { generateNextPlatform(); } function generateNextPlatform() { lastPlatformY -= platformSpacing + Math.random() * 100; var x = 200 + Math.random() * 1648; // Determine platform type based on height var type = 'normal'; var height = Math.abs(lastPlatformY - 2400); if (height > 1000) { var rand = Math.random(); if (rand < 0.3) { type = 'moving'; } else if (rand < 0.5) { type = 'disappearing'; } else if (rand < 0.6) { type = 'powerup'; } } createPlatform(x, lastPlatformY, type); } function updateCamera() { var targetY = dude.y - 1800; if (targetY < cameraY) { cameraY = targetY; game.y = -cameraY; // Update highest position if (dude.y < highestY) { highestY = dude.y; var height = Math.floor((2400 - highestY) / 10); LK.setScore(height); scoreTxt.setText(LK.getScore()); heightTxt.setText('Height: ' + height + 'm'); } } } function checkPlatformCollisions() { if (dude.velocityY <= 0) return; // Only check when falling for (var i = 0; i < platforms.length; i++) { var platform = platforms[i]; if (!platform.active) continue; var dudeBottom = dude.y + 40; var platformTop = platform.y - 15; var platformBottom = platform.y + 15; if (dudeBottom >= platformTop && dudeBottom <= platformBottom + 20) { if (dude.x >= platform.x - 100 && dude.x <= platform.x + 100) { // Landing on platform dude.y = platformTop - 40; dude.velocityY = 0; dude.isOnPlatform = true; dude.isJumping = false; if (!platform.landed) { platform.landed = true; LK.getSound('land').play(); // Handle special platform effects if (platform.type === 'powerup') { dude.invincible = true; dude.invincibleTimer = 300; dude.jumpPower = 35; LK.getSound('powerup').play(); // Reset jump power after time LK.setTimeout(function () { dude.jumpPower = 25; }, 3000); } } break; } } } } function cleanupPlatforms() { for (var i = platforms.length - 1; i >= 0; i--) { var platform = platforms[i]; if (platform.y > cameraY + 3000 || !platform.active) { platform.destroy(); platforms.splice(i, 1); } } } function generateMorePlatforms() { while (lastPlatformY > cameraY - 1000) { generateNextPlatform(); } } // Touch controls game.down = function (x, y, obj) { dude.jump(); }; // Main game loop game.update = function () { updateCamera(); checkPlatformCollisions(); cleanupPlatforms(); generateMorePlatforms(); // Remove platforms that are too far down if (LK.ticks % 60 === 0) { cleanupPlatforms(); } };
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,261 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+var Dude = Container.expand(function () {
+ var self = Container.call(this);
+ var dudeGraphics = self.attachAsset('dude', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.velocityY = 0;
+ self.isJumping = false;
+ self.isOnPlatform = false;
+ self.jumpPower = 25;
+ self.gravity = 0.8;
+ self.maxFallSpeed = 15;
+ self.invincible = false;
+ self.invincibleTimer = 0;
+ self.jump = function () {
+ if (self.isOnPlatform) {
+ self.velocityY = -self.jumpPower;
+ self.isJumping = true;
+ self.isOnPlatform = false;
+ LK.getSound('jump').play();
+ }
+ };
+ self.update = function () {
+ // Apply gravity
+ self.velocityY += self.gravity;
+ if (self.velocityY > self.maxFallSpeed) {
+ self.velocityY = self.maxFallSpeed;
+ }
+ // Update position
+ self.y += self.velocityY;
+ // Handle invincibility timer
+ if (self.invincible) {
+ self.invincibleTimer--;
+ if (self.invincibleTimer <= 0) {
+ self.invincible = false;
+ dudeGraphics.alpha = 1;
+ } else {
+ dudeGraphics.alpha = Math.sin(self.invincibleTimer * 0.3) * 0.5 + 0.5;
+ }
+ }
+ // Keep dude on screen horizontally
+ if (self.x < 40) self.x = 40;
+ if (self.x > 2008) self.x = 2008;
+ // Check if fallen off screen
+ if (self.y > cameraY + 2732 + 200) {
+ LK.showGameOver();
+ }
+ };
+ return self;
+});
+var Platform = Container.expand(function (type) {
+ var self = Container.call(this);
+ self.type = type || 'normal';
+ self.landed = false;
+ self.disappearing = false;
+ self.moveDirection = 1;
+ self.moveRange = 300;
+ self.startX = 0;
+ var platformGraphics;
+ if (self.type === 'moving') {
+ platformGraphics = self.attachAsset('movingPlatform', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ } else if (self.type === 'disappearing') {
+ platformGraphics = self.attachAsset('disappearingPlatform', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ } else if (self.type === 'powerup') {
+ platformGraphics = self.attachAsset('powerUpPlatform', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ } else {
+ platformGraphics = self.attachAsset('platform', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ }
+ self.update = function () {
+ // Moving platform behavior
+ if (self.type === 'moving') {
+ self.x += self.moveDirection * 2;
+ if (self.x > self.startX + self.moveRange || self.x < self.startX - self.moveRange) {
+ self.moveDirection *= -1;
+ }
+ }
+ // Disappearing platform behavior
+ if (self.type === 'disappearing' && self.landed && !self.disappearing) {
+ self.disappearing = true;
+ tween(platformGraphics, {
+ alpha: 0
+ }, {
+ duration: 1000,
+ onFinish: function onFinish() {
+ self.active = false;
+ }
+ });
+ }
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x87ceeb
+});
+
+/****
+* Game Code
+****/
+var dude = game.addChild(new Dude());
+var platforms = [];
+var cameraY = 0;
+var highestY = 2400;
+var lastPlatformY = 2400;
+var platformSpacing = 200;
+// Create score display
+var scoreTxt = new Text2('0', {
+ size: 60,
+ fill: 0xFFFFFF
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+// Create height display
+var heightTxt = new Text2('Height: 0m', {
+ size: 40,
+ fill: 0xFFFFFF
+});
+heightTxt.anchor.set(1, 0);
+heightTxt.x = -20;
+heightTxt.y = 20;
+LK.gui.topRight.addChild(heightTxt);
+// Initialize dude position
+dude.x = 1024;
+dude.y = 2400;
+// Create initial platforms
+function createPlatform(x, y, type) {
+ var platform = new Platform(type);
+ platform.x = x;
+ platform.y = y;
+ platform.startX = x;
+ platform.active = true;
+ platforms.push(platform);
+ game.addChild(platform);
+ return platform;
+}
+// Create starting platform
+createPlatform(1024, 2450, 'normal');
+// Generate initial platforms
+for (var i = 0; i < 20; i++) {
+ generateNextPlatform();
+}
+function generateNextPlatform() {
+ lastPlatformY -= platformSpacing + Math.random() * 100;
+ var x = 200 + Math.random() * 1648;
+ // Determine platform type based on height
+ var type = 'normal';
+ var height = Math.abs(lastPlatformY - 2400);
+ if (height > 1000) {
+ var rand = Math.random();
+ if (rand < 0.3) {
+ type = 'moving';
+ } else if (rand < 0.5) {
+ type = 'disappearing';
+ } else if (rand < 0.6) {
+ type = 'powerup';
+ }
+ }
+ createPlatform(x, lastPlatformY, type);
+}
+function updateCamera() {
+ var targetY = dude.y - 1800;
+ if (targetY < cameraY) {
+ cameraY = targetY;
+ game.y = -cameraY;
+ // Update highest position
+ if (dude.y < highestY) {
+ highestY = dude.y;
+ var height = Math.floor((2400 - highestY) / 10);
+ LK.setScore(height);
+ scoreTxt.setText(LK.getScore());
+ heightTxt.setText('Height: ' + height + 'm');
+ }
+ }
+}
+function checkPlatformCollisions() {
+ if (dude.velocityY <= 0) return; // Only check when falling
+ for (var i = 0; i < platforms.length; i++) {
+ var platform = platforms[i];
+ if (!platform.active) continue;
+ var dudeBottom = dude.y + 40;
+ var platformTop = platform.y - 15;
+ var platformBottom = platform.y + 15;
+ if (dudeBottom >= platformTop && dudeBottom <= platformBottom + 20) {
+ if (dude.x >= platform.x - 100 && dude.x <= platform.x + 100) {
+ // Landing on platform
+ dude.y = platformTop - 40;
+ dude.velocityY = 0;
+ dude.isOnPlatform = true;
+ dude.isJumping = false;
+ if (!platform.landed) {
+ platform.landed = true;
+ LK.getSound('land').play();
+ // Handle special platform effects
+ if (platform.type === 'powerup') {
+ dude.invincible = true;
+ dude.invincibleTimer = 300;
+ dude.jumpPower = 35;
+ LK.getSound('powerup').play();
+ // Reset jump power after time
+ LK.setTimeout(function () {
+ dude.jumpPower = 25;
+ }, 3000);
+ }
+ }
+ break;
+ }
+ }
+ }
+}
+function cleanupPlatforms() {
+ for (var i = platforms.length - 1; i >= 0; i--) {
+ var platform = platforms[i];
+ if (platform.y > cameraY + 3000 || !platform.active) {
+ platform.destroy();
+ platforms.splice(i, 1);
+ }
+ }
+}
+function generateMorePlatforms() {
+ while (lastPlatformY > cameraY - 1000) {
+ generateNextPlatform();
+ }
+}
+// Touch controls
+game.down = function (x, y, obj) {
+ dude.jump();
+};
+// Main game loop
+game.update = function () {
+ updateCamera();
+ checkPlatformCollisions();
+ cleanupPlatforms();
+ generateMorePlatforms();
+ // Remove platforms that are too far down
+ if (LK.ticks % 60 === 0) {
+ cleanupPlatforms();
+ }
+};
\ No newline at end of file
bir sevimli gülen yüzlü uzaylı. In-Game asset. 2d. High contrast. No shadows
coin. In-Game asset. 2d. High contrast. No shadows
trambolin. In-Game asset. 2d. High contrast. No shadows
çirkin korkutucu uzaylı. In-Game asset. 2d. High contrast. No shadows
kalp. In-Game asset. 2d. High contrast. No shadows
bir düğme ama içinde kurukafa .işareti olsun şeffaf. In-Game asset. 2d. High contrast. No shadows
platform. In-Game asset. 2d. High contrast. No shadows
güç platformu. In-Game asset. 2d. High contrast. No shadows
yuvarlak yeşil top. In-Game asset. 2d. High contrast. No shadows
sevimli bana yardım edin diyen bir uzaylı. In-Game asset. 2d. High contrast. No shadows
ufo. In-Game asset. 2d. High contrast. No shadows