User prompt
if score reaches 25 or above, set ball's direction when it appears to have a 50% chance of going randomly to the left
User prompt
make paddles to always be above dots
User prompt
each time new tint is assigned to paddles, add a 20% #ffffff tint
User prompt
make both paddles always appear 20% whiter
User prompt
make player's paddle's first tint to always be #ffffff
User prompt
make level10 instead appear when score reaches 10 or above
User prompt
if not clicked on for longer than 2 seconds, make bonus scale down and disappear. Then have bonus reappear at a random point from 7 to 13 seconds
User prompt
when level10 appears, make it quickly scale up from tiny size normal size
User prompt
make level10 scale down and fade out quickly after being on the screen for 1.5 seconds π
User prompt
make level10 scale up when it appears, and after 1.5 seconds make level10 scale down and fade out
User prompt
create an asset for level10, make it appear above galaxy
User prompt
make level10 appear in the middle of the screen when score reaches 10
User prompt
create a new object level10
User prompt
if bonus is not clicked for longer than 2.5 seconds, have bonus scale down fast and disappear
User prompt
when ball and player's paddle collide, change paddle's tint to be a mix of a random color and #FFFFFF
User prompt
remove chip
User prompt
Add a new object called Chip in the middle of a screen
User prompt
Fix Bug: 'Uncaught ReferenceError: filters is not defined' in this line: 'var blurFilter = new filters.BlurFilter();' Line Number: 55
User prompt
make sun have soft blur around the edges
User prompt
add explosions to when you click on bonus
User prompt
make sun to be above dots
var Level10 = Container.expand(function () { var self = Container.call(this); }); var Explosion = Container.expand(function () { var self = Container.call(this); var explosionGraphics = self.createAsset('explosion', 'Explosion Graphics', 0.5, 0.5); self.speed = { x: (Math.random() * 10 - 5) / 6, y: (Math.random() * 10 - 5) / 6 }; self.move = function () { self.x += self.speed.x; self.y += self.speed.y; }; self.fadeOut = function () { self.alpha -= 0.02; if (self.alpha <= 0) { self.destroy(); } }; }); var Particle = Container.expand(function () { var self = Container.call(this); var particleGraphics = self.createAsset('particle', 'Particle Graphics', 0.5, 0.5); self.scale.set(1); self.fadeSpeed = 1 / 150; self.scaleSpeed = 1 / 150; self.update = function () { self.alpha -= self.fadeSpeed; self.scale.x -= self.scaleSpeed; self.scale.y -= self.scaleSpeed; if (self.alpha <= 0) { self.destroy(); } }; }); var Bonus = Container.expand(function () { var self = Container.call(this); var bonusGraphics = self.createAsset('bonus', 'Bonus Graphics', 0.5, 0.5); self.rotationSpeed = -0.01; self.fadeSpeed = 0.01; self.rotate = function () { self.rotation += self.rotationSpeed; }; }); var Galaxy = Container.expand(function () { var self = Container.call(this); self.rotationSpeed = -0.00033333; var galaxyGraphics = self.createAsset('galaxy', 'Galaxy Graphics', 0.5, 0.5); galaxyGraphics.scale.set(12); self.scaleFactor = 0.0001; self.scaleDirection = 0.8; }); var Sun = Container.expand(function () { var self = Container.call(this); var sunGraphics = self.createAsset('sun', 'Sun Graphics', 0.5, 0.5); sunGraphics.scale.set(4); }); var Dot = Container.expand(function () { var self = Container.call(this); var dotGraphics = self.createAsset('dot', 'Dot Graphics', 0.5, 0.5); dotGraphics.scale.set(Math.random() * (0.5 - 0.3) + 0.3); var colors = [0xFFFFFF, 0xADD8E6, 0xFFFFE0, 0xEDDEA4, 0xEDDEA4]; dotGraphics.tint = colors[Math.floor(Math.random() * colors.length)]; self.speed = { x: (Math.random() * 10 - 5) / 6, y: (Math.random() * 10 - 5) / 6 }; self.alpha = 0; self.fadeIn = true; self.fadeOut = false; self.lifeTime = 0; self.maxLifeTime = Math.floor(Math.random() * (1200 - 300 + 1)) + 300; self.move = function () { self.x += self.speed.x * 0.9; self.y += self.speed.y * 0.9; self.lifeTime++; if (self.fadeIn) { self.alpha += 0.01; if (self.alpha >= 1) { self.fadeIn = false; } } else if (self.fadeOut) { self.alpha -= 0.01; if (self.alpha <= 0) { self.x = Math.random() * 2048; self.y = Math.random() * 2732; self.alpha = 0; self.fadeIn = true; self.fadeOut = false; self.lifeTime = 0; } } else if (self.lifeTime >= self.maxLifeTime) { self.fadeOut = true; } }; }); var PlayerPaddle = Container.expand(function () { var self = Container.call(this); var paddleGraphics = self.createAsset('paddle', 'Player Paddle Graphics', 0.5, 0.5); paddleGraphics.tint = 0xffffff; self.speed = 20; self.move = function (direction) { self.y += direction * self.speed; }; }); var AIPaddle = Container.expand(function () { var self = Container.call(this); var paddleGraphics = self.createAsset('paddle', 'AI Paddle Graphics', 0.5, 0.5); paddleGraphics.tint = 0xE63946; self.speed = 20; self.move = function (direction) { self.y += direction * self.speed; }; }); var Ball = Container.expand(function () { var self = Container.call(this); var ballGraphics = self.createAsset('ball', 'Ball Graphics', 0.5, 0.5); self.speed = { x: 10, y: 10 }; self.rotationSpeed = 0.01; self.rotationDirection = 1; self.move = function () { self.x += self.speed.x; self.y += self.speed.y; self.rotation += self.rotationSpeed * self.rotationDirection; }; }); var Game = Container.expand(function () { var self = Container.call(this); var galaxy = self.addChild(new Galaxy()); galaxy.x = 2048 / 2; galaxy.y = 2732 / 2; var sun = self.addChild(new Sun()); sun.x = 2048 / 2; sun.y = 130; var playerPaddle = self.addChildAt(new PlayerPaddle(), self.children.length); var aiPaddle = self.addChildAt(new AIPaddle(), self.children.length); var ball = self.addChildAt(new Ball(), self.children.length); var bonus; function createBonus() { bonus = self.addChildAt(new Bonus(), self.children.length); bonus.x = (Math.random() * 0.2 + 0.4) * 2048; bonus.y = (Math.random() * 0.2 + 0.4) * 2732; bonus.scale.set(0.01); var scaleInterval = LK.setInterval(function () { bonus.scale.x += 0.03; bonus.scale.y += 0.03; if (bonus.scale.x >= 1) { LK.clearInterval(scaleInterval); } }, 200 / 60); bonus.on('down', function () { var scaleDownInterval = LK.setInterval(function () { bonus.scale.x -= 0.1; bonus.scale.y -= 0.1; if (bonus.scale.x <= 0) { LK.clearInterval(scaleDownInterval); bonus.alpha = 0; score += 3; bonus.destroy(); for (var j = 0; j < 8; j++) { var explosion = new Explosion(); explosion.x = bonus.x; explosion.y = bonus.y; self.addChild(explosion); } var bonusDelay = Math.floor(Math.random() * (15000 - 7000 + 1)) + 7000; LK.setTimeout(createBonus, bonusDelay); } }, 200 / 60); }); } var bonusDelay = Math.floor(Math.random() * (15000 - 7000 + 1)) + 7000; LK.setTimeout(createBonus, bonusDelay); var paddles = [playerPaddle, aiPaddle]; var score = 0; playerPaddle.x = 100; playerPaddle.y = 2732 / 2; aiPaddle.x = 2048 - 100; aiPaddle.y = 2732 / 2; ball.x = 2048 / 2; ball.y = 2732 / 2; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff", font: "Franklin Gothic Demi" }); scoreTxt.anchor.set(.5, 0); LK.gui.topCenter.addChild(scoreTxt); var dots = []; for (var i = 0; i < 100; i++) { var dot = new Dot(); dot.x = Math.random() * 2048; dot.y = Math.random() * 2732; dots.push(dot); } for (var i = 0; i < dots.length; i++) { self.addChild(dots[i]); } var targetY = playerPaddle.y; stage.on('down', function (obj) { var event = obj.event; var pos = event.getLocalPosition(self); targetY = pos.y; }); stage.on('move', function (obj) { var event = obj.event; var pos = event.getLocalPosition(self); targetY = pos.y; }); LK.on('tick', function () { if (targetY < playerPaddle.y) { playerPaddle.move(-1); } else if (targetY > playerPaddle.y) { playerPaddle.move(1); } }); LK.on('tick', function () { ball.move(); if (LK.ticks % 6 == 0) { var particle = new Particle(); particle.x = ball.x; particle.y = ball.y; self.addChild(particle); } if (bonus) { bonus.rotate(); } var direction = ball.y - aiPaddle.y; direction = direction / Math.abs(direction); aiPaddle.move(direction * 0.5); for (var i = 0; i < paddles.length; i++) { if (ball.intersects(paddles[i])) { var hitPoint = ball.y - paddles[i].y; var hitRatio = hitPoint / paddles[i].height; ball.speed.y += hitRatio * 10; if (ball.speed.x > 0 && ball.x < paddles[i].x || ball.speed.x < 0 && ball.x > paddles[i].x) { ball.speed.x *= -1; ball.rotationDirection *= -1; for (var j = 0; j < 8; j++) { var explosion = new Explosion(); explosion.x = paddles[i].x; explosion.y = paddles[i].y; self.addChild(explosion); } } if (paddles[i] === playerPaddle) { score++; var randomColor = Math.floor(Math.random() * 16777215); playerPaddle.children[0].tint = (randomColor & 0xF0F0F0) + ((0xFFFFFF & randomColor) >> 1); if (bonus) { bonus.scale.x *= 1.01; bonus.scale.y *= 1.01; bonus.rotationSpeed *= 1.01; } } } } if (ball.y <= 0 || ball.y >= 2732) { ball.speed.y *= -1; } if (ball.x <= 0) { LK.showGameOver(); } if (ball.x >= 2048) { score++; ball.x = 2048 / 2; ball.y = 2732 / 2; if (score >= 25) { ball.speed.x = Math.random() < 0.5 ? -10 : 10; } else { ball.speed.x = 10; } ball.speed.y = Math.random() * 20 - 10; } scoreTxt.setText(score.toString()); if (score === 10) { var level10Graphics = self.createAsset('level10', 'Level 10 Graphics', 0.5, 0.5); level10Graphics.x = 2048 / 2; level10Graphics.y = 2732 / 2; self.addChild(level10Graphics); var level10Time = 0; LK.on('tick', function () { level10Time += 1 / 60; if (level10Time >= 1.5) { level10Graphics.scale.x -= 0.1; level10Graphics.scale.y -= 0.1; level10Graphics.alpha -= 0.1; if (level10Graphics.scale.x <= 0 || level10Graphics.alpha <= 0) { level10Graphics.destroy(); } } }); } for (var i = 0; i < dots.length; i++) { dots[i].move(); } for (var i = self.children.length - 1; i >= 0; i--) { if (self.children[i] instanceof Particle) { self.children[i].update(); } if (self.children[i] instanceof Explosion) { self.children[i].move(); self.children[i].fadeOut(); } } galaxy.rotation += galaxy.rotationSpeed; galaxy.scale.x += galaxy.scaleFactor * galaxy.scaleDirection; galaxy.scale.y += galaxy.scaleFactor * galaxy.scaleDirection; if (galaxy.scale.x > 1.2 || galaxy.scale.x < 0.8) { galaxy.scaleDirection *= -1; } }); });
===================================================================
--- original.js
+++ change.js
@@ -135,18 +135,8 @@
galaxy.y = 2732 / 2;
var sun = self.addChild(new Sun());
sun.x = 2048 / 2;
sun.y = 130;
- var dots = [];
- for (var i = 0; i < 100; i++) {
- var dot = new Dot();
- dot.x = Math.random() * 2048;
- dot.y = Math.random() * 2732;
- dots.push(dot);
- }
- for (var i = 0; i < dots.length; i++) {
- self.addChild(dots[i]);
- }
var playerPaddle = self.addChildAt(new PlayerPaddle(), self.children.length);
var aiPaddle = self.addChildAt(new AIPaddle(), self.children.length);
var ball = self.addChildAt(new Ball(), self.children.length);
var bonus;
@@ -278,9 +268,13 @@
if (ball.x >= 2048) {
score++;
ball.x = 2048 / 2;
ball.y = 2732 / 2;
- ball.speed.x = 10;
+ if (score >= 25) {
+ ball.speed.x = Math.random() < 0.5 ? -10 : 10;
+ } else {
+ ball.speed.x = 10;
+ }
ball.speed.y = Math.random() * 20 - 10;
}
scoreTxt.setText(score.toString());
if (score === 10) {
2d earth Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white star, no background, pixelart Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Galaxy pixelart in black background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixelart of a tall and thin spaceship, no background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
sun pixelart Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white circle, no background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
3 yellow sparkles, pixelart, no background Single Game Texture. In-Game asset. 2d. High contrast. No shadows.
simple black circle no background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Green microchip pixelart Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
number 10, golden color, pixelart Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.