User prompt
top arkdaki kale ve ev lerin olduğu yere gelince patlama olmuş gibi partiküller şıksın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
topu biraz büyüt ve topla orantılı şrekilde çubukların boyunu kısalt
User prompt
evler biraz daha yayılsın sağdakiler sağa doğru soldakiler de sola
User prompt
ayrıntıları kaldır
User prompt
zemindeki ayrımtılar daha yeşillin koyu hali olsun
User prompt
evler yanyana dursun sıralı ve zemine ayrıntılar ekle çizgiler fln
User prompt
kalelerin yanına ek daha küçük ek evler ekle her tarfa 3 tane hem kalenin sağına hemde soluna
User prompt
zemini yeşil yap zemin clash royalin zeminine benzesin
User prompt
topu biraz yavaşlat
User prompt
topu biraz daha hızlandır
User prompt
çubukları birasz tukarı al
User prompt
topu dahada hızlandır kale yi büyüt
User prompt
tamam boyutlaru biraz büyüt ve topu biraz hızlandır ve bizde tıkladığımız yere gidelim
Code edit (1 edits merged)
Please save this source code
User prompt
Paddle Castle Defender
Initial prompt
oyunda iki çubuk olacak karşılıklı arkaların dada kaleleri ve ortadada bir top olacak ve bu top rastgele bir yerden başlayacak ya sağ yada sol ve çubuğuğa değerse sekecek ve göze batmayan ufak partiküller saçacak ve eğer top arkadaki kalelere değerse atan kiçi 1 puan alacak maşın süresi 1 buçuk dakka olacak biz bu iki çubuktan birisi olacağız karşı rakip ise bot olacak ve biz karakterimizi alttaki ok tuşları koy onlarla hareket ettireceğiz
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var Ball = Container.expand(function () { var self = Container.call(this); var ballGraphics = self.attachAsset('ball', { anchorX: 0.5, anchorY: 0.5 }); self.velocityX = 0; self.velocityY = 0; self.speed = 12; self.reset = function () { self.x = 1024; self.y = 1366; var angle = (Math.random() > 0.5 ? 1 : -1) * (Math.PI / 6 + Math.random() * Math.PI / 3); self.velocityX = Math.sin(angle) * self.speed; self.velocityY = Math.cos(angle) * self.speed * (Math.random() > 0.5 ? 1 : -1); }; self.update = function () { self.x += self.velocityX; self.y += self.velocityY; // Bounce off left and right walls if (self.x <= 22.5 || self.x >= 2025.5) { self.velocityX = -self.velocityX; } }; return self; }); var Castle = Container.expand(function () { var self = Container.call(this); var castleGraphics = self.attachAsset('castle', { anchorX: 0.5, anchorY: 0.5 }); return self; }); var Paddle = Container.expand(function () { var self = Container.call(this); var paddleGraphics = self.attachAsset('paddle', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 8; self.targetX = self.x; self.moveTowards = function (targetX) { self.targetX = targetX; if (self.targetX < 125) self.targetX = 125; if (self.targetX > 1923) self.targetX = 1923; }; self.update = function () { if (Math.abs(self.x - self.targetX) > 2) { if (self.x < self.targetX) { self.x += self.speed; } else { self.x -= self.speed; } } }; return self; }); var Particle = Container.expand(function () { var self = Container.call(this); var particleGraphics = self.attachAsset('particle', { anchorX: 0.5, anchorY: 0.5 }); self.velocityX = (Math.random() - 0.5) * 8; self.velocityY = (Math.random() - 0.5) * 8; self.life = 30; self.maxLife = 30; self.update = function () { self.x += self.velocityX; self.y += self.velocityY; self.life--; var alpha = self.life / self.maxLife; particleGraphics.alpha = alpha; if (self.life <= 0) { self.destroy(); particles.splice(particles.indexOf(self), 1); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x001122 }); /**** * Game Code ****/ var gameTime = 90; var playerScore = 0; var aiScore = 0; var particles = []; // Create UI elements var timerText = new Text2('90', { size: 80, fill: 0xFFFFFF }); timerText.anchor.set(0.5, 0); LK.gui.top.addChild(timerText); var playerScoreText = new Text2('0', { size: 60, fill: 0x4A90E2 }); playerScoreText.anchor.set(0, 1); LK.gui.bottomLeft.addChild(playerScoreText); var aiScoreText = new Text2('0', { size: 60, fill: 0xE24A4A }); aiScoreText.anchor.set(0, 0); LK.gui.topLeft.addChild(aiScoreText); // Create game objects var playerPaddle = game.addChild(new Paddle()); playerPaddle.x = 1024; playerPaddle.y = 2400; var aiPaddle = game.addChild(new Paddle()); aiPaddle.x = 1024; aiPaddle.y = 332; var playerCastle = game.addChild(new Castle()); playerCastle.x = 1024; playerCastle.y = 2642; var aiCastle = game.addChild(new Castle()); aiCastle.x = 1024; aiCastle.y = 90; var ball = game.addChild(new Ball()); ball.reset(); var gameTimer = LK.setInterval(function () { gameTime--; timerText.setText(gameTime.toString()); if (gameTime <= 0) { LK.clearInterval(gameTimer); if (playerScore > aiScore) { LK.showYouWin(); } else { LK.showGameOver(); } } }, 1000); var touchX = 1024; function createParticles(x, y) { for (var i = 0; i < 8; i++) { var particle = game.addChild(new Particle()); particle.x = x; particle.y = y; particles.push(particle); } } function checkPaddleCollision(paddle, ball) { var paddleLeft = paddle.x - 125; var paddleRight = paddle.x + 125; var paddleTop = paddle.y - 20; var paddleBottom = paddle.y + 20; var ballLeft = ball.x - 22.5; var ballRight = ball.x + 22.5; var ballTop = ball.y - 22.5; var ballBottom = ball.y + 22.5; return ballRight > paddleLeft && ballLeft < paddleRight && ballBottom > paddleTop && ballTop < paddleBottom; } game.down = function (x, y, obj) { touchX = x; playerPaddle.moveTowards(x); }; game.move = function (x, y, obj) { touchX = x; playerPaddle.moveTowards(x); }; game.update = function () { // AI paddle follows ball with some delay var targetX = ball.x + ball.velocityX * 10; if (targetX < 125) targetX = 125; if (targetX > 1923) targetX = 1923; aiPaddle.moveTowards(targetX); // Check paddle collisions if (checkPaddleCollision(playerPaddle, ball)) { if (ball.velocityY > 0) { ball.velocityY = -ball.velocityY; var hitOffset = (ball.x - playerPaddle.x) / 125; ball.velocityX += hitOffset * 2; createParticles(ball.x, ball.y); LK.getSound('paddleHit').play(); } } if (checkPaddleCollision(aiPaddle, ball)) { if (ball.velocityY < 0) { ball.velocityY = -ball.velocityY; var hitOffset = (ball.x - aiPaddle.x) / 125; ball.velocityX += hitOffset * 2; createParticles(ball.x, ball.y); LK.getSound('paddleHit').play(); } } // Check goal scoring if (ball.y < 0) { playerScore++; playerScoreText.setText(playerScore.toString()); LK.setScore(playerScore); ball.reset(); LK.getSound('goal').play(); } if (ball.y > 2732) { aiScore++; aiScoreText.setText(aiScore.toString()); ball.reset(); LK.getSound('goal').play(); } // Limit ball speed var maxSpeed = 12; var currentSpeed = Math.sqrt(ball.velocityX * ball.velocityX + ball.velocityY * ball.velocityY); if (currentSpeed > maxSpeed) { ball.velocityX = ball.velocityX / currentSpeed * maxSpeed; ball.velocityY = ball.velocityY / currentSpeed * maxSpeed; } };
===================================================================
--- original.js
+++ change.js
@@ -123,12 +123,12 @@
LK.gui.topLeft.addChild(aiScoreText);
// Create game objects
var playerPaddle = game.addChild(new Paddle());
playerPaddle.x = 1024;
-playerPaddle.y = 2600;
+playerPaddle.y = 2400;
var aiPaddle = game.addChild(new Paddle());
aiPaddle.x = 1024;
-aiPaddle.y = 132;
+aiPaddle.y = 332;
var playerCastle = game.addChild(new Castle());
playerCastle.x = 1024;
playerCastle.y = 2642;
var aiCastle = game.addChild(new Castle());