User prompt
sağdaki sayıcı xte çizgi çizginin yanına koy
User prompt
gri al
User prompt
sağdaki sayacı x te 500 azalt
User prompt
sağ sayaç konum
User prompt
sol sayacın x 200 arttır
User prompt
daha da
User prompt
dahada
User prompt
tamam şimdi 100 eksilt
User prompt
sağdaki sayacı x te 400 eksilt
User prompt
dahada
User prompt
şimdi iki sayacın fontunu karasel yap
User prompt
iki sayacın fontu minecraft tarzı olsun
User prompt
sayaçlar jura stil olsun
User prompt
10 kere kazanan oyunu kazanır.
User prompt
bir daha dene
User prompt
tamam şimdi ekranın ortasına oyun başlamadan Pongi yaz. sonra bu yazı yok olsun ve oyun başlasın
User prompt
yazı konumu
User prompt
yazıyı 0 0 ayarla
User prompt
ama yazı vaken oyun başlamasın yazı gidince oyun başlar
User prompt
top ilk 2 saniye başlamasın
User prompt
top il 3 saniye başlamasın
User prompt
pongi yazısının arkasınına gölge ekle
User prompt
gölge gri olsun
User prompt
arka plan ekla yazıya saydam gri beyaz yakın olandan
User prompt
arka plan 3 saniye sonra gidecek
/****
* Classes
****/
// Ball class for game ball
var Ball = Container.expand(function () {
var self = Container.call(this);
var ballGraphics = self.attachAsset('ball', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedX = 5;
self.speedY = 5;
self.update = function () {
self.x += self.speedX;
self.y += self.speedY;
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Paddle class for player control
var Paddle = Container.expand(function () {
var self = Container.call(this);
var paddleGraphics = self.attachAsset('paddle', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 15;
self.update = function () {
// Paddle movement logic will be handled in game code
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Create a dashed line in the center of the screen
var centerLine = new Container();
var lineHeight = 20;
var lineSpacing = 20;
for (var y = 0; y < 2732; y += lineHeight + lineSpacing) {
var lineSegment = LK.getAsset('paddle', {
width: 10,
height: lineHeight,
color: 0xffffff,
anchorX: 0.5,
anchorY: 0.5
});
lineSegment.x = 2048 / 2;
lineSegment.y = y + lineHeight / 2;
centerLine.addChild(lineSegment);
}
game.addChild(centerLine);
// Initialize paddles and ball
var leftPaddle = game.addChild(new Paddle());
var rightPaddle = game.addChild(new Paddle());
var ball = game.addChild(new Ball());
// Position paddles and ball
leftPaddle.x = 100;
leftPaddle.y = 2732 / 2;
rightPaddle.x = 2048 - 50;
rightPaddle.y = 2732 / 2;
ball.x = 2048 / 2;
ball.y = 2732 / 2;
// Score variables
var leftScore = 0;
var rightScore = 0;
// Score display
var leftScoreTxt = new Text2('0', {
size: 100,
fill: 0xFFFFFF
});
var rightScoreTxt = new Text2('0', {
size: 100,
fill: 0xFFFFFF
});
leftScoreTxt.anchor.set(0.5, 0);
leftScoreTxt.x += 100;
rightScoreTxt.anchor.set(0.5, 0);
rightScoreTxt.x = 2048 / 2 + 100; // Position next to the center dashed line
LK.gui.topLeft.addChild(leftScoreTxt);
LK.gui.topRight.addChild(rightScoreTxt);
// Update score display
function updateScore() {
leftScoreTxt.setText(leftScore);
rightScoreTxt.setText(rightScore);
}
// Handle paddle movement
game.move = function (x, y, obj) {
if (x < 2048 / 2) {
leftPaddle.y = y;
}
};
// Game update loop
game.update = function () {
ball.update();
// Ball collision with top and bottom
if (ball.y <= 0 && ball.speedY < 0 || ball.y >= 2732 && ball.speedY > 0) {
ball.speedY *= -1;
}
// Ball collision with paddles
if (ball.intersects(leftPaddle)) {
if (ball.y < leftPaddle.y) {
ball.speedY = -Math.abs(ball.speedY);
} else {
ball.speedY = Math.abs(ball.speedY);
}
ball.speedX *= -1.05; // Slight acceleration on paddle hit
}
if (ball.intersects(rightPaddle)) {
if (ball.y < rightPaddle.y) {
ball.speedY = -Math.abs(ball.speedY);
} else {
ball.speedY = Math.abs(ball.speedY);
}
ball.speedX *= -1.05; // Slight acceleration on paddle hit
}
// Scoring
if (ball.x <= 0) {
rightScore++;
updateScore();
resetBall();
} else if (ball.x >= 2048) {
leftScore++;
updateScore();
resetBall();
}
// Automatic movement for right paddle only when the ball is moving towards it
if (ball.speedX > 0) {
if (ball.y > rightPaddle.y) {
rightPaddle.y += rightPaddle.speed;
} else if (ball.y < rightPaddle.y) {
rightPaddle.y -= rightPaddle.speed;
}
}
};
// Reset ball to center
function resetBall() {
ball.x = 2048 / 2;
ball.y = 2732 / 2;
ball.speedX = 5 * (Math.random() > 0.5 ? 1 : -1);
ball.speedY = 5 * (Math.random() > 0.5 ? 1 : -1);
}