/**** * Classes ****/ // Ball class 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 and AI paddles var Paddle = Container.expand(function () { var self = Container.call(this); var paddleGraphics = self.attachAsset('paddle', { anchorX: 0.5, anchorY: 0.5 }); self.height = 200; self.width = 20; self.speed = 10; self.update = function () { // Paddle update logic }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ playerPaddle.y = y; var dashedLine = new Container(); var dashHeight = 40; var dashSpacing = 10; for (var i = 0; i < 2732; i += dashHeight + dashSpacing) { var dash = LK.getAsset('dash', { width: 10, height: dashHeight, color: 0xFFFFFF, anchorX: 0.5, anchorY: 0.5, shape: 'ellipse' }); dash.x = 1024; // Centered horizontally dash.y = i + dashHeight / 2; dashedLine.addChild(dash); } game.addChild(dashedLine); // Initialize paddles and ball var playerPaddle = game.addChild(new Paddle()); var aiPaddle = game.addChild(new Paddle()); var ball = game.addChild(new Ball()); // Set initial positions playerPaddle.x = 50; playerPaddle.y = 1366; // Centered vertically aiPaddle.x = 1998; aiPaddle.y = 1366; // Centered vertically ball.x = 1024; ball.y = 1366; // Centered // Game state variables var playerScore = 0; var aiScore = 0; var gameRunning = true; // Function to reset ball position function resetBall() { ball.x = 1024; ball.y = 1366; ball.speedX = Math.random() > 0.5 ? 5 : -5; ball.speedY = Math.random() > 0.5 ? 5 : -5; } // Function to update AI paddle position function updateAIPaddle() { if (ball.y < aiPaddle.y) { aiPaddle.y -= aiPaddle.speed; } else if (ball.y > aiPaddle.y) { aiPaddle.y += aiPaddle.speed; } } // Function to check for collisions function checkCollisions() { // Ball collision with top and bottom if (ball.y <= 0 || ball.y >= 2732) { ball.speedY *= -1; } // Ball collision with paddles if (ball.x <= playerPaddle.x + playerPaddle.width && ball.y >= playerPaddle.y - playerPaddle.height / 2 && ball.y <= playerPaddle.y + playerPaddle.height / 2) { ball.speedX *= -1; } if (ball.x >= aiPaddle.x - aiPaddle.width && ball.y >= aiPaddle.y - aiPaddle.height / 2 && ball.y <= aiPaddle.y + aiPaddle.height / 2) { ball.speedX *= -1; } // Ball out of bounds if (ball.x <= 0) { aiScore++; resetBall(); } if (ball.x >= 2048) { playerScore++; resetBall(); } } // Game update loop game.update = function () { if (gameRunning) { ball.update(); updateAIPaddle(); checkCollisions(); } }; // Player paddle control game.down = function (x, y, obj) { playerPaddle.y = y; }; // Display scores var playerScoreText = new Text2('Player: 0', { size: 50, fill: 0xFFFFFF }); var aiScoreText = new Text2('AI: 0', { size: 50, fill: 0xFFFFFF }); playerScoreText.x = 100; playerScoreText.y = 50; aiScoreText.x = 1800; aiScoreText.y = 50; game.addChild(playerScoreText); game.addChild(aiScoreText); // Update score display function updateScores() { playerScoreText.setText('Player: ' + playerScore); aiScoreText.setText('AI: ' + aiScore); } // Main game loop game.update = function () { if (gameRunning) { ball.update(); updateAIPaddle(); checkCollisions(); updateScores(); } };
===================================================================
--- original.js
+++ change.js
@@ -41,9 +41,9 @@
/****
* Game Code
****/
-// Create a dashed line in the center of the game screen
+playerPaddle.y = y;
var dashedLine = new Container();
var dashHeight = 40;
var dashSpacing = 10;
for (var i = 0; i < 2732; i += dashHeight + dashSpacing) {