User prompt
kontorolleri öncekine geri alalım
User prompt
sadece sürükleme kontrolüne geçelim
User prompt
magaza butonuna tiklandiginda oyun dursun butun ekrani kaplamayan ortada acilan bir serit pencere olsun
User prompt
magaza butonunu sol alt koseye kenardan 1x1 cm uzakliga alalim ve buton tiklanabilir olsun
User prompt
mermi rengini mavi yapalim, magaza da kirmizi, turuncu, mavi, sari, mor renkler olsun bu renkler satin alinabilir olsun 10 saniyede bir on hizi 2 kat arttsin
User prompt
oyuna magaza ozelligi para getirelim para sari renk olsun magaza da dis gorunusler olsun kademeli satin alimlar gibi cok abartili fiyatlar olmasin ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
hareket etmediginde oyun durma ozelligini kaldiralim
User prompt
10 saniye de bir oyun seviyesi arttsin yani daha dusmanlar daha hizli hareket etsin
Code edit (1 edits merged)
Please save this source code
User prompt
Motion Control Game
User prompt
oyunda karakter hareket etmedigi surece oyun aki dursun hareket ettigi surece oyun devam etsin
Initial prompt
ben bir parkur oyunu yapmak istiyorum
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var Bullet = Container.expand(function () { var self = Container.call(this); var graphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); self.speedX = (Math.random() - 0.5) * 6; self.speedY = Math.random() * 4 + 2; self.frozen = false; self.update = function () { if (!self.frozen && gameActive) { self.x += self.speedX; self.y += self.speedY; } // Visual feedback for frozen state graphics.tint = self.frozen ? 0x888888 : 0xFFFFFF; }; return self; }); var Enemy = Container.expand(function () { var self = Container.call(this); var graphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speedX = (Math.random() - 0.5) * 4; self.speedY = Math.random() * 3 + 1; self.frozen = false; self.update = function () { if (!self.frozen && gameActive) { self.x += self.speedX; self.y += self.speedY; // Bounce off screen edges if (self.x <= 30 || self.x >= 2018) { self.speedX *= -1; } } // Visual feedback for frozen state graphics.tint = self.frozen ? 0x888888 : 0xFFFFFF; }; return self; }); var Player = Container.expand(function () { var self = Container.call(this); var graphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.lastX = 0; self.lastY = 0; self.isMoving = false; self.update = function () { // Check if player is moving var deltaX = Math.abs(self.x - self.lastX); var deltaY = Math.abs(self.y - self.lastY); self.isMoving = deltaX > 1 || deltaY > 1; // Update last position self.lastX = self.x; self.lastY = self.y; // Visual feedback for movement state if (self.isMoving) { graphics.alpha = 1.0; graphics.scaleX = 1.1; graphics.scaleY = 1.1; } else { graphics.alpha = 0.7; graphics.scaleX = 1.0; graphics.scaleY = 1.0; } }; return self; }); var PowerUp = Container.expand(function () { var self = Container.call(this); var graphics = self.attachAsset('powerup', { anchorX: 0.5, anchorY: 0.5 }); self.bobSpeed = Math.random() * 0.1 + 0.05; self.bobOffset = Math.random() * Math.PI * 2; self.frozen = false; self.update = function () { if (!self.frozen && gameActive) { // Gentle bobbing animation graphics.y = Math.sin(LK.ticks * self.bobSpeed + self.bobOffset) * 5; graphics.rotation += 0.02; } // Visual feedback for frozen state graphics.tint = self.frozen ? 0x888888 : 0xFFFFFF; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x1A1A2E }); /**** * Game Code ****/ var player; var enemies = []; var bullets = []; var powerups = []; var gameActive = false; var survivalTime = 0; var spawnTimer = 0; var difficultyLevel = 1; var dragNode = null; // Initialize score display var scoreTxt = new Text2('Score: 0', { size: 60, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Initialize status display var statusTxt = new Text2('MOVE TO START', { size: 80, fill: 0xFFD700 }); statusTxt.anchor.set(0.5, 0.5); statusTxt.x = 2048 / 2; statusTxt.y = 2732 / 2 - 200; game.addChild(statusTxt); // Create player player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2732 / 2; // Movement handling function handleMove(x, y, obj) { if (dragNode) { dragNode.x = Math.max(40, Math.min(2008, x)); dragNode.y = Math.max(40, Math.min(2692, y)); } } game.move = handleMove; game.down = function (x, y, obj) { dragNode = player; handleMove(x, y, obj); }; game.up = function (x, y, obj) { dragNode = null; }; // Spawn enemies function spawnEnemy() { var enemy = new Enemy(); enemy.x = Math.random() * 1900 + 100; enemy.y = -50; enemies.push(enemy); game.addChild(enemy); } // Spawn bullets function spawnBullet() { var bullet = new Bullet(); bullet.x = Math.random() * 2048; bullet.y = -30; bullets.push(bullet); game.addChild(bullet); } // Spawn power-ups function spawnPowerUp() { var powerup = new PowerUp(); powerup.x = Math.random() * 1800 + 124; powerup.y = Math.random() * 2000 + 100; powerups.push(powerup); game.addChild(powerup); } // Update game state game.update = function () { // Update game active state based on player movement gameActive = player.isMoving; // Update status text if (gameActive) { statusTxt.alpha = 0; survivalTime++; // Update score var currentScore = Math.floor(survivalTime / 60) + LK.getScore() % 1000; LK.setScore(Math.floor(survivalTime / 60) * 10); scoreTxt.setText('Score: ' + LK.getScore()); // Increase difficulty over time difficultyLevel = Math.floor(survivalTime / 3600) + 1; } else { statusTxt.alpha = 0.8; statusTxt.setText('MOVE TO CONTINUE'); } // Freeze/unfreeze all game objects for (var i = 0; i < enemies.length; i++) { enemies[i].frozen = !gameActive; } for (var i = 0; i < bullets.length; i++) { bullets[i].frozen = !gameActive; } for (var i = 0; i < powerups.length; i++) { powerups[i].frozen = !gameActive; } // Spawn logic (only when game is active) if (gameActive) { spawnTimer++; // Spawn enemies if (spawnTimer % Math.max(120 - difficultyLevel * 10, 30) === 0) { spawnEnemy(); } // Spawn bullets if (spawnTimer % Math.max(90 - difficultyLevel * 5, 20) === 0) { spawnBullet(); } // Spawn power-ups if (spawnTimer % 600 === 0) { spawnPowerUp(); } } // Handle enemy collisions and cleanup for (var i = enemies.length - 1; i >= 0; i--) { var enemy = enemies[i]; // Remove off-screen enemies if (enemy.y > 2800) { enemy.destroy(); enemies.splice(i, 1); continue; } // Check collision with player if (enemy.intersects(player)) { LK.getSound('enemyHit').play(); LK.effects.flashScreen(0xFF0000, 500); LK.showGameOver(); return; } } // Handle bullet collisions and cleanup for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; // Remove off-screen bullets if (bullet.y > 2800 || bullet.x < -50 || bullet.x > 2098) { bullet.destroy(); bullets.splice(i, 1); continue; } // Check collision with player if (bullet.intersects(player)) { LK.getSound('enemyHit').play(); LK.effects.flashScreen(0xFF0000, 500); LK.showGameOver(); return; } } // Handle power-up collisions for (var i = powerups.length - 1; i >= 0; i--) { var powerup = powerups[i]; if (powerup.intersects(player)) { LK.getSound('collect').play(); LK.setScore(LK.getScore() + 50); scoreTxt.setText('Score: ' + LK.getScore()); LK.effects.flashObject(player, 0x2196F3, 300); powerup.destroy(); powerups.splice(i, 1); } } // Win condition if (LK.getScore() >= 1000) { LK.showYouWin(); } };
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,274 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+var Bullet = Container.expand(function () {
+ var self = Container.call(this);
+ var graphics = self.attachAsset('bullet', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speedX = (Math.random() - 0.5) * 6;
+ self.speedY = Math.random() * 4 + 2;
+ self.frozen = false;
+ self.update = function () {
+ if (!self.frozen && gameActive) {
+ self.x += self.speedX;
+ self.y += self.speedY;
+ }
+ // Visual feedback for frozen state
+ graphics.tint = self.frozen ? 0x888888 : 0xFFFFFF;
+ };
+ return self;
+});
+var Enemy = Container.expand(function () {
+ var self = Container.call(this);
+ var graphics = self.attachAsset('enemy', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speedX = (Math.random() - 0.5) * 4;
+ self.speedY = Math.random() * 3 + 1;
+ self.frozen = false;
+ self.update = function () {
+ if (!self.frozen && gameActive) {
+ self.x += self.speedX;
+ self.y += self.speedY;
+ // Bounce off screen edges
+ if (self.x <= 30 || self.x >= 2018) {
+ self.speedX *= -1;
+ }
+ }
+ // Visual feedback for frozen state
+ graphics.tint = self.frozen ? 0x888888 : 0xFFFFFF;
+ };
+ return self;
+});
+var Player = Container.expand(function () {
+ var self = Container.call(this);
+ var graphics = self.attachAsset('player', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.lastX = 0;
+ self.lastY = 0;
+ self.isMoving = false;
+ self.update = function () {
+ // Check if player is moving
+ var deltaX = Math.abs(self.x - self.lastX);
+ var deltaY = Math.abs(self.y - self.lastY);
+ self.isMoving = deltaX > 1 || deltaY > 1;
+ // Update last position
+ self.lastX = self.x;
+ self.lastY = self.y;
+ // Visual feedback for movement state
+ if (self.isMoving) {
+ graphics.alpha = 1.0;
+ graphics.scaleX = 1.1;
+ graphics.scaleY = 1.1;
+ } else {
+ graphics.alpha = 0.7;
+ graphics.scaleX = 1.0;
+ graphics.scaleY = 1.0;
+ }
+ };
+ return self;
+});
+var PowerUp = Container.expand(function () {
+ var self = Container.call(this);
+ var graphics = self.attachAsset('powerup', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.bobSpeed = Math.random() * 0.1 + 0.05;
+ self.bobOffset = Math.random() * Math.PI * 2;
+ self.frozen = false;
+ self.update = function () {
+ if (!self.frozen && gameActive) {
+ // Gentle bobbing animation
+ graphics.y = Math.sin(LK.ticks * self.bobSpeed + self.bobOffset) * 5;
+ graphics.rotation += 0.02;
+ }
+ // Visual feedback for frozen state
+ graphics.tint = self.frozen ? 0x888888 : 0xFFFFFF;
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x1A1A2E
+});
+
+/****
+* Game Code
+****/
+var player;
+var enemies = [];
+var bullets = [];
+var powerups = [];
+var gameActive = false;
+var survivalTime = 0;
+var spawnTimer = 0;
+var difficultyLevel = 1;
+var dragNode = null;
+// Initialize score display
+var scoreTxt = new Text2('Score: 0', {
+ size: 60,
+ fill: 0xFFFFFF
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+// Initialize status display
+var statusTxt = new Text2('MOVE TO START', {
+ size: 80,
+ fill: 0xFFD700
+});
+statusTxt.anchor.set(0.5, 0.5);
+statusTxt.x = 2048 / 2;
+statusTxt.y = 2732 / 2 - 200;
+game.addChild(statusTxt);
+// Create player
+player = game.addChild(new Player());
+player.x = 2048 / 2;
+player.y = 2732 / 2;
+// Movement handling
+function handleMove(x, y, obj) {
+ if (dragNode) {
+ dragNode.x = Math.max(40, Math.min(2008, x));
+ dragNode.y = Math.max(40, Math.min(2692, y));
+ }
+}
+game.move = handleMove;
+game.down = function (x, y, obj) {
+ dragNode = player;
+ handleMove(x, y, obj);
+};
+game.up = function (x, y, obj) {
+ dragNode = null;
+};
+// Spawn enemies
+function spawnEnemy() {
+ var enemy = new Enemy();
+ enemy.x = Math.random() * 1900 + 100;
+ enemy.y = -50;
+ enemies.push(enemy);
+ game.addChild(enemy);
+}
+// Spawn bullets
+function spawnBullet() {
+ var bullet = new Bullet();
+ bullet.x = Math.random() * 2048;
+ bullet.y = -30;
+ bullets.push(bullet);
+ game.addChild(bullet);
+}
+// Spawn power-ups
+function spawnPowerUp() {
+ var powerup = new PowerUp();
+ powerup.x = Math.random() * 1800 + 124;
+ powerup.y = Math.random() * 2000 + 100;
+ powerups.push(powerup);
+ game.addChild(powerup);
+}
+// Update game state
+game.update = function () {
+ // Update game active state based on player movement
+ gameActive = player.isMoving;
+ // Update status text
+ if (gameActive) {
+ statusTxt.alpha = 0;
+ survivalTime++;
+ // Update score
+ var currentScore = Math.floor(survivalTime / 60) + LK.getScore() % 1000;
+ LK.setScore(Math.floor(survivalTime / 60) * 10);
+ scoreTxt.setText('Score: ' + LK.getScore());
+ // Increase difficulty over time
+ difficultyLevel = Math.floor(survivalTime / 3600) + 1;
+ } else {
+ statusTxt.alpha = 0.8;
+ statusTxt.setText('MOVE TO CONTINUE');
+ }
+ // Freeze/unfreeze all game objects
+ for (var i = 0; i < enemies.length; i++) {
+ enemies[i].frozen = !gameActive;
+ }
+ for (var i = 0; i < bullets.length; i++) {
+ bullets[i].frozen = !gameActive;
+ }
+ for (var i = 0; i < powerups.length; i++) {
+ powerups[i].frozen = !gameActive;
+ }
+ // Spawn logic (only when game is active)
+ if (gameActive) {
+ spawnTimer++;
+ // Spawn enemies
+ if (spawnTimer % Math.max(120 - difficultyLevel * 10, 30) === 0) {
+ spawnEnemy();
+ }
+ // Spawn bullets
+ if (spawnTimer % Math.max(90 - difficultyLevel * 5, 20) === 0) {
+ spawnBullet();
+ }
+ // Spawn power-ups
+ if (spawnTimer % 600 === 0) {
+ spawnPowerUp();
+ }
+ }
+ // Handle enemy collisions and cleanup
+ for (var i = enemies.length - 1; i >= 0; i--) {
+ var enemy = enemies[i];
+ // Remove off-screen enemies
+ if (enemy.y > 2800) {
+ enemy.destroy();
+ enemies.splice(i, 1);
+ continue;
+ }
+ // Check collision with player
+ if (enemy.intersects(player)) {
+ LK.getSound('enemyHit').play();
+ LK.effects.flashScreen(0xFF0000, 500);
+ LK.showGameOver();
+ return;
+ }
+ }
+ // Handle bullet collisions and cleanup
+ for (var i = bullets.length - 1; i >= 0; i--) {
+ var bullet = bullets[i];
+ // Remove off-screen bullets
+ if (bullet.y > 2800 || bullet.x < -50 || bullet.x > 2098) {
+ bullet.destroy();
+ bullets.splice(i, 1);
+ continue;
+ }
+ // Check collision with player
+ if (bullet.intersects(player)) {
+ LK.getSound('enemyHit').play();
+ LK.effects.flashScreen(0xFF0000, 500);
+ LK.showGameOver();
+ return;
+ }
+ }
+ // Handle power-up collisions
+ for (var i = powerups.length - 1; i >= 0; i--) {
+ var powerup = powerups[i];
+ if (powerup.intersects(player)) {
+ LK.getSound('collect').play();
+ LK.setScore(LK.getScore() + 50);
+ scoreTxt.setText('Score: ' + LK.getScore());
+ LK.effects.flashObject(player, 0x2196F3, 300);
+ powerup.destroy();
+ powerups.splice(i, 1);
+ }
+ }
+ // Win condition
+ if (LK.getScore() >= 1000) {
+ LK.showYouWin();
+ }
+};
\ No newline at end of file