User prompt
make it so that every time either ball2 or ball2 is randomly born with equal probability.
User prompt
make it so that every time either ball2 or ball2 is randomly born with equal probability.
User prompt
make it so that every time either ball2 or ball2 is randomly born with equal probability.
User prompt
make it so that either ball or ball2 is born randomly with equal probability, each new birth is randomized
User prompt
make it so that either ball or ball2 is born randomly with equal probability, each new birth is randomized
User prompt
make it so that either ball or ball2 is randomly born with equal probability.
User prompt
make the ball or ball2 randomly spawn.
User prompt
make the ball or ball2 randomly spawn.
User prompt
make it equally likely that a ball or a ball2 will be born.
User prompt
make it equally likely that a ball or a ball2 will be born.
User prompt
The angle of the ball should change more after collisions with the paddles.
User prompt
Make the ball speed faster.
User prompt
make the direction of the ball random after birth
User prompt
the ball must not go through the paddles
User prompt
remove the autocontrol, mouse control only.
User prompt
each of the paddles must be a separate item in the sets
User prompt
each of the paddles must be a separate item in the sets
User prompt
put the background on the lowest layer
User prompt
put the background in the game.
User prompt
put the background in the game.
Initial prompt
Pong
===================================================================
--- original.js
+++ change.js
@@ -1,60 +1,60 @@
-/****
+/****
* Classes
****/
// Paddle class
var Paddle = Container.expand(function () {
- var self = Container.call(this);
- var paddleGraphics = self.attachAsset('paddle', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = 10;
- self.moveUp = function () {
- self.y -= self.speed;
- };
- self.moveDown = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var paddleGraphics = self.attachAsset('paddle', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 10;
+ self.moveUp = function () {
+ self.y -= self.speed;
+ };
+ self.moveDown = function () {
+ self.y += self.speed;
+ };
});
// Ball class
var Ball = Container.expand(function () {
- var self = Container.call(this);
- var ballGraphics = self.attachAsset('ball', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.velocity = {
- x: 5,
- y: 5
- };
- self.move = function () {
- self.x += self.velocity.x;
- self.y += self.velocity.y;
- };
- self.reset = function () {
- self.x = 2048 / 2;
- self.y = 2732 / 2;
- self.velocity = {
- x: 5,
- y: 5
- };
- };
+ var self = Container.call(this);
+ var ballGraphics = self.attachAsset('ball', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.velocity = {
+ x: 5,
+ y: 5
+ };
+ self.move = function () {
+ self.x += self.velocity.x;
+ self.y += self.velocity.y;
+ };
+ self.reset = function () {
+ self.x = 2048 / 2;
+ self.y = 2732 / 2;
+ self.velocity = {
+ x: 5,
+ y: 5
+ };
+ };
});
-/****
+/****
* Initialize Game
****/
var game = new LK.Game({
- backgroundColor: 0x000000 // Init game with black background
+ backgroundColor: 0x92c7f3 // Init game with blue background
});
-/****
+/****
* Game Code
****/
-// Initialize paddles and ball
-// Define the paddle asset
// Define the ball asset
+// Define the paddle asset
+// Initialize paddles and ball
var leftPaddle = game.addChild(new Paddle());
var rightPaddle = game.addChild(new Paddle());
var ball = game.addChild(new Ball());
// Set initial positions
@@ -64,56 +64,56 @@
rightPaddle.y = 2732 / 2;
ball.reset();
// Game tick event
LK.on('tick', function () {
- // Move the ball
- ball.move();
- // Ball collision with top and bottom
- if (ball.y <= 0 || ball.y >= 2732) {
- ball.velocity.y *= -1;
- }
- // Ball collision with paddles
- if (ball.intersects(leftPaddle) || ball.intersects(rightPaddle)) {
- ball.velocity.x *= -1;
- }
- // Ball out of bounds
- if (ball.x <= 0 || ball.x >= 2048) {
- ball.reset();
- }
- // Paddle movement logic
- // This should be replaced with touch/mouse event logic for mobile compatibility
- // For now, paddles will move automatically for demonstration purposes
- if (leftPaddle.y > ball.y) {
- leftPaddle.moveUp();
- } else {
- leftPaddle.moveDown();
- }
- if (rightPaddle.y > ball.y) {
- rightPaddle.moveUp();
- } else {
- rightPaddle.moveDown();
- }
- // Keep paddles within game bounds
- leftPaddle.y = Math.max(leftPaddle.height / 2, Math.min(leftPaddle.y, 2732 - leftPaddle.height / 2));
- rightPaddle.y = Math.max(rightPaddle.height / 2, Math.min(rightPaddle.y, 2732 - rightPaddle.height / 2));
+ // Move the ball
+ ball.move();
+ // Ball collision with top and bottom
+ if (ball.y <= 0 || ball.y >= 2732) {
+ ball.velocity.y *= -1;
+ }
+ // Ball collision with paddles
+ if (ball.intersects(leftPaddle) || ball.intersects(rightPaddle)) {
+ ball.velocity.x *= -1;
+ }
+ // Ball out of bounds
+ if (ball.x <= 0 || ball.x >= 2048) {
+ ball.reset();
+ }
+ // Paddle movement logic
+ // This should be replaced with touch/mouse event logic for mobile compatibility
+ // For now, paddles will move automatically for demonstration purposes
+ if (leftPaddle.y > ball.y) {
+ leftPaddle.moveUp();
+ } else {
+ leftPaddle.moveDown();
+ }
+ if (rightPaddle.y > ball.y) {
+ rightPaddle.moveUp();
+ } else {
+ rightPaddle.moveDown();
+ }
+ // Keep paddles within game bounds
+ leftPaddle.y = Math.max(leftPaddle.height / 2, Math.min(leftPaddle.y, 2732 - leftPaddle.height / 2));
+ rightPaddle.y = Math.max(rightPaddle.height / 2, Math.min(rightPaddle.y, 2732 - rightPaddle.height / 2));
});
// Touch event listeners for paddles
game.on('down', function (obj) {
- var event = obj.event;
- var pos = event.getLocalPosition(game);
- // Determine which paddle to control based on touch position
- if (pos.x < 2048 / 2) {
- leftPaddle.y = pos.y;
- } else {
- rightPaddle.y = pos.y;
- }
+ var event = obj.event;
+ var pos = event.getLocalPosition(game);
+ // Determine which paddle to control based on touch position
+ if (pos.x < 2048 / 2) {
+ leftPaddle.y = pos.y;
+ } else {
+ rightPaddle.y = pos.y;
+ }
});
game.on('move', function (obj) {
- var event = obj.event;
- var pos = event.getLocalPosition(game);
- // Update paddle position based on touch movement
- if (pos.x < 2048 / 2) {
- leftPaddle.y = pos.y;
- } else {
- rightPaddle.y = pos.y;
- }
+ var event = obj.event;
+ var pos = event.getLocalPosition(game);
+ // Update paddle position based on touch movement
+ if (pos.x < 2048 / 2) {
+ leftPaddle.y = pos.y;
+ } else {
+ rightPaddle.y = pos.y;
+ }
});
\ No newline at end of file
ancient nautical chart. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
head of the wind god that blows wind on ancient maps, Middle Ages, black and white, wind from the mouth. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
scrub
pirate treasure chest. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
anchor. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cannonball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
explosion, black and white. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.