User prompt
topu ilk haline çevir
User prompt
shopu sil
User prompt
geri al shopu sil
User prompt
Please fix the bug: 'Uncaught TypeError: LK.pauseGame is not a function' in or related to this line: 'LK.pauseGame();' Line Number: 145
User prompt
shop nerde gözükmüyo
User prompt
shop gözükmüyo
User prompt
ekranın yukarasında bir tane market olsun shop yazsın ve mavi bir kutu olsun shop kısmına tıklayınca oyun dursun ve mağaza açılsın topladığımız paralarla kendimize birşeyler alaraım mesela ekstra bir can gibi
User prompt
geri
User prompt
o 'left' üzerinde sol yazsın o 'right' üzerinde sağ yazsın
User prompt
sağ tarafa Right sol tarafa left yaz
User prompt
olmadı geri al
User prompt
ekranda iki ok düğmesi yuvarlak olsun sağ sol diğe
User prompt
arka planı gri yap
User prompt
2 tane kırmızı düşşün
User prompt
zıplamayı kaldır
User prompt
karakter yani beyaz top sağ sol hareket etsin
Code edit (1 edits merged)
Please save this source code
User prompt
Star Jumper
Initial prompt
/**** * Assets ****/ LK.init.shape('player', {width: 80, height: 80, color: 0x3366ff, shape: 'ellipse'}); LK.init.shape('star', {width: 40, height: 40, color: 0xffff00, shape: 'ellipse'}); LK.init.shape('enemy', {width: 50, height: 50, color: 0xff4444, shape: 'ellipse'}); /**** * Initialize Game ****/ var game = new LK.Game({backgroundColor: 0x222222}); /**** * Variables ****/ var score = 0; var player; var stars = []; var enemies = []; var spawnTimer = 0; /**** * Player Class ****/ var Player = Container.expand(function() { var self = Container.call(this); var body = self.attachAsset('player', {anchorX:0.5, anchorY:0.5}); self.x = 512; self.y = 1500; self.vy = 0; self.gravity = 1.2; self.jumpPower = -25; self.isOnGround = false; self.update = function() { self.vy += self.gravity; self.y += self.vy; if (self.y >= 1600) { self.y = 1600; self.vy = 0; self.isOnGround = true; } else { self.isOnGround = false; } } self.jump = function() { if (self.isOnGround) { self.vy = self.jumpPower; } } return self; }); /**** * Star Class ****/ var Star = Container.expand(function() { var self = Container.call(this); self.attachAsset('star', {anchorX:0.5, anchorY:0.5}); self.x = Math.random()*1024; self.y = -50; self.speed = 5 + Math.random()*3; self.update = function() { self.y += self.speed; if (self.y > 1700) { self.destroy(); stars.splice(stars.indexOf(self),1); } } return self; }); /**** * Enemy Class ****/ var Enemy = Container.expand(function() { var self = Container.call(this); self.attachAsset('enemy', {anchorX:0.5, anchorY:0.5}); self.x = Math.random()*1024; self.y = -50; self.speed = 6 + Math.random()*4; self.update = function() { self.y += self.speed; if (self.y > 1700) { self.destroy(); enemies.splice(enemies.indexOf(self),1); } } return self; }); /**** * Setup Game Objects ****/ player = game.addChild(new Player()); /**** * Score Display ****/ var scoreText = new Text2('Score: 0', {size: 50, fill: 0xffffff}); scoreText.x = 20; scoreText.y = 20; LK.gui.topLeft.addChild(scoreText); /**** * Input ****/ game.down = function(x,y,obj){ player.jump(); } /**** * Main Game Loop ****/ game.update = function() { spawnTimer++; // Spawn stars and enemies randomly if (spawnTimer % 60 === 0) { stars.push(game.addChild(new Star())); } if (spawnTimer % 120 === 0) { enemies.push(game.addChild(new Enemy())); } // Update player player.update(); // Update stars stars.forEach(function(star) { star.update(); if (player.intersects(star)) { score += 1; scoreText.setText('Score: ' + score); star.destroy(); stars.splice(stars.indexOf(star),1); } }); // Update enemies enemies.forEach(function(enemy) { enemy.update(); if (player.intersects(enemy)) { LK.showGameOver(); } }); }
/**** * Classes ****/ //var tween = LK.import("@upit/tween.v1"); // Enemy class var Enemy = Container.expand(function () { var self = Container.call(this); var enemyAsset = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.radius = enemyAsset.width / 2; self.speedY = 14 + Math.random() * 10; // Random fall speed // Set initial position self.x = 150 + Math.random() * (2048 - 300); self.y = -enemyAsset.height / 2; self.update = function () { self.y += self.speedY; }; return self; }); // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerAsset = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.radius = playerAsset.width / 2; self.groundY = 2400; // Y position of the ground (bottom margin) // Set initial position self.x = 2048 / 2; self.y = self.groundY; // Call every frame self.update = function () { // No jump or gravity, player stays on ground }; // Move left by a fixed amount, clamp to screen self.moveLeft = function () { self.x -= 180; if (self.x < self.radius + 20) self.x = self.radius + 20; }; // Move right by a fixed amount, clamp to screen self.moveRight = function () { self.x += 180; if (self.x > 2048 - self.radius - 20) self.x = 2048 - self.radius - 20; }; return self; }); // Star class var Star = Container.expand(function () { var self = Container.call(this); var starAsset = self.attachAsset('star', { anchorX: 0.5, anchorY: 0.5 }); self.radius = starAsset.width / 2; self.speedY = 12 + Math.random() * 8; // Random fall speed // Set initial position self.x = 150 + Math.random() * (2048 - 300); self.y = -starAsset.height / 2; self.update = function () { self.y += self.speedY; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x888888 }); /**** * Game Code ****/ // Enemy: red box // Star: smaller white ellipse // Player character: yellow ellipse (star jumper) // Score display (top left, avoid 100x100 area) var scoreTxt = new Text2('0', { size: 110, fill: 0xFFF700 }); scoreTxt.anchor.set(0, 0); // Top left scoreTxt.x = 120; // Leave margin for menu scoreTxt.y = 40; LK.gui.top.addChild(scoreTxt); // Player instance var player = new Player(); game.addChild(player); // Add 'Left' and 'Right' text labels var leftLabel = new Text2('Left', { size: 100, fill: 0xffffff }); leftLabel.anchor.set(0.5, 1); leftLabel.x = 2048 * 0.18; leftLabel.y = 2732 - 80; game.addChild(leftLabel); var rightLabel = new Text2('Right', { size: 100, fill: 0xffffff }); rightLabel.anchor.set(0.5, 1); rightLabel.x = 2048 * 0.82; rightLabel.y = 2732 - 80; game.addChild(rightLabel); // Arrays for stars and enemies var stars = []; var enemies = []; // Timers for spawning var starSpawnTimer = 0; var enemySpawnTimer = 0; // Helper: spawn a star function spawnStar() { var star = new Star(); stars.push(star); game.addChild(star); } // Helper: spawn an enemy function spawnEnemy() { // Spawn two enemies for (var i = 0; i < 2; i++) { var enemy = new Enemy(); enemies.push(enemy); game.addChild(enemy); } } // Tap left/right screen to move player game.down = function (x, y, obj) { if (x < 2048 / 2) { player.moveLeft(); } else { player.moveRight(); } }; // Main update loop game.update = function () { // Update player player.update(); // Spawn stars starSpawnTimer--; if (starSpawnTimer <= 0) { spawnStar(); starSpawnTimer = 36 + Math.floor(Math.random() * 24); // 0.6-1.0s at 60fps } // Spawn enemies enemySpawnTimer--; if (enemySpawnTimer <= 0) { spawnEnemy(); enemySpawnTimer = 60 + Math.floor(Math.random() * 40); // 1.0-1.7s at 60fps } // Update and check stars for (var i = stars.length - 1; i >= 0; i--) { var star = stars[i]; star.update(); // Off screen if (star.y - star.radius > 2732) { star.destroy(); stars.splice(i, 1); continue; } // Collision with player if (player.intersects(star)) { LK.setScore(LK.getScore() + 1); scoreTxt.setText(LK.getScore()); star.destroy(); stars.splice(i, 1); continue; } } // Update and check enemies for (var j = enemies.length - 1; j >= 0; j--) { var enemy = enemies[j]; enemy.update(); // Off screen if (enemy.y - enemy.radius > 2732) { enemy.destroy(); enemies.splice(j, 1); continue; } // Collision with player if (player.intersects(enemy)) { if (player.extraLife && player.extraLife > 0) { player.extraLife--; LK.effects.flashScreen(0x00ff00, 600); // Remove enemy and continue enemy.destroy(); enemies.splice(j, 1); continue; } else { LK.effects.flashScreen(0xff0000, 800); LK.showGameOver(); return; } } } }; // Set initial score LK.setScore(0); scoreTxt.setText('0');
===================================================================
--- original.js
+++ change.js