User prompt
Modify the height of explodes upper
User prompt
Modify the height of explodes upper and randomize it
User prompt
Remove happy new year text from the map
User prompt
blendMode = 1 for color mixing
User prompt
blendMode = 1 for color mixing
User prompt
blendMode = 1
User prompt
Please fix the bug: 'Timeout.tick error: setTimeout is not a function' in or related to this line: 'setTimeout(function () {' Line Number: 45
User prompt
do it
User prompt
Add a HAPPY NEW YEAR TITLE To the upper half of the map with golden coloured letters.
User prompt
Please fix the bug: 'Timeout.tick error: titleText.style is undefined' in or related to this line: 'titleText.style.fill = titleColors[titleIndex];' Line Number: 248
User prompt
do it
User prompt
Please fix the bug: 'TypeError: newYearText.style is undefined' in or related to this line: 'newYearText.style.fill = colors[colorIndex]; // Update text color' Line Number: 278
User prompt
Please fix the bug: 'TypeError: newYearText.style is undefined' in or related to this line: 'newYearText.style.fill = colors[colorIndex]; // Update text color' Line Number: 278
User prompt
do it
User prompt
add an amusement park ferris wheel asset with color changing animation to the bottom of the screen
User prompt
add an amusement park ferris wheel with color changing animation to the bottom of the screen
User prompt
Please fix the bug: 'TypeError: self is undefined' in or related to this line: 'var particleGraphics = self.attachAsset('purpleParticle', {' Line Number: 180
User prompt
Fix bug by replacing blueFireworkParticle with purpleFireworkParticle in explode method
User prompt
do it
User prompt
Please fix the bug: 'TypeError: particle is undefined' in or related to this line: 'particle.x = self.x;' Line Number: 63
User prompt
do it
User prompt
Then do it correctly
User prompt
remove green from the game
User prompt
Please fix the bug: 'TypeError: self is undefined' in or related to this line: 'var particleGraphics = self.attachAsset('greenParticle', {' Line Number: 201
User prompt
Please fix the bug: 'TypeError: particle is undefined' in or related to this line: 'particle.x = self.x;' Line Number: 63
/****
* Classes
****/
// Class for Firework
var Firework = Container.expand(function () {
var self = Container.call(this);
var colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff, 0xffa500, 0x4b0082, 0x800000, 0x008080, 0x000080, 0x800080, 0x808000, 0x008000, 0x0000A0, 0xA52A2A, 0x5F9EA0, 0x7FFF00, 0xD2691E, 0xFF7F50, 0xFFD700, 0xADFF2F, 0xFF69B4, 0xCD5C5C, 0x4B0082, 0x8A2BE2, 0x5F9EA0, 0x7FFF00, 0xD2691E, 0xFF7F50]; // Extended array of colors
var color = colors[Math.floor(Math.random() * colors.length)]; // Select a random color
var fireworkGraphics = self.attachAsset('firework', {
anchorX: 0.5,
anchorY: 0.5,
color: color // Apply the random color
});
self.vy = -5; // Upward velocity
self.exploded = false;
self.update = function () {
if (!self.exploded) {
self.y += self.vy;
if (self.y <= Math.random() * (2732 / 2)) {
// Explode at a random height between the top of the map and the upper half
self.explode();
}
}
};
self.explode = function () {
self.exploded = true;
LK.getSound('F1').play();
for (var i = 0; i < 100; i++) {
// Create 100 particles
var particle;
if (self instanceof RedFirework) {
particle = new RedFireworkParticle();
} else if (self instanceof BlueFirework) {
particle = new PurpleFireworkParticle();
} else if (self instanceof GreenFirework) {
particle = new GreenFireworkParticle();
} else if (self instanceof BlueFirework) {
particle = new BlueFireworkParticle();
} else {
particle = new FireworkParticle();
}
particle.x = self.x;
particle.y = self.y;
// Add a random angle and speed to each particle
var angle = Math.random() * Math.PI * 2;
var speed = Math.random() * 5;
particle.vx = Math.cos(angle) * speed;
particle.vy = Math.sin(angle) * speed;
game.addChild(particle);
}
self.destroy();
};
self.containsPoint = function (point) {
var width = fireworkGraphics.width;
var height = fireworkGraphics.height;
return point.x > self.x - width / 2 && point.x < self.x + width / 2 && point.y > self.y - height / 2 && point.y < self.y + height / 2;
};
});
// Class for Yellow Firework
var YellowFirework = Firework.expand(function () {
var self = Firework.call(this);
Firework.call(this);
var fireworkGraphics = this.attachAsset('yellowFirework', {
anchorX: 0.5,
anchorY: 0.5
});
});
// Class for Red Firework
var RedFirework = Firework.expand(function () {
var self = Firework.call(this);
Firework.call(this);
var fireworkGraphics = this.attachAsset('redFirework', {
anchorX: 0.5,
anchorY: 0.5
});
});
var PurpleFirework = Firework.expand(function () {
var self = Firework.call(this);
Firework.call(this);
var fireworkGraphics = this.attachAsset('purpleFirework', {
anchorX: 0.5,
anchorY: 0.5
});
});
var PinkFirework = Firework.expand(function () {
var self = Firework.call(this);
Firework.call(this);
var fireworkGraphics = this.attachAsset('pinkFirework', {
anchorX: 0.5,
anchorY: 0.5
});
});
var GreenFirework = Firework.expand(function () {
var self = Firework.call(this);
Firework.call(this);
var fireworkGraphics = this.attachAsset('greenFirework', {
anchorX: 0.5,
anchorY: 0.5
});
});
// Class for Blue Firework
var BlueFirework = Firework.expand(function () {
var self = Firework.call(this);
Firework.call(this);
var fireworkGraphics = this.attachAsset('blueFirework', {
anchorX: 0.5,
anchorY: 0.5
});
});
var FireworkParticle = Container.expand(function () {
var self = Container.call(this);
var colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff, 0xffa500, 0x4b0082, 0x800000, 0x008080, 0x000080, 0x800080, 0x808000, 0x008000, 0x0000A0, 0xA52A2A, 0x5F9EA0, 0x7FFF00, 0xD2691E, 0xFF7F50, 0xFFD700, 0xADFF2F, 0xFF69B4, 0xCD5C5C, 0x4B0082, 0x8A2BE2, 0x5F9EA0, 0x7FFF00, 0xD2691E, 0xFF7F50]; // Extended array of colors
var color = colors[Math.floor(Math.random() * colors.length)]; // Select a random color
var particleGraphics = self.attachAsset('particle', {
anchorX: 0.5,
anchorY: 0.5,
color: color // Apply the random color
});
self.vx = Math.random() * 6 - 3; // Random x velocity
self.vy = Math.random() * 6 - 3; // Random y velocity
self.alpha = 1;
self.lifespan = 100; // Lifespan in ticks
self.update = function () {
self.x += self.vx;
self.y += self.vy;
self.alpha -= 1 / self.lifespan;
// Decrease the speed over time for a more realistic effect
self.vx *= 0.99;
self.vy *= 0.99;
if (--self.lifespan <= 0) {
self.destroy();
}
};
});
// Class for Yellow Firework Particle
var YellowFireworkParticle = FireworkParticle.expand(function () {
var self = FireworkParticle.call(this);
FireworkParticle.call(this);
var particleGraphics = this.attachAsset('yellowParticle', {
anchorX: 0.5,
anchorY: 0.5
});
});
// Class for Red Firework Particle
var RedFireworkParticle = FireworkParticle.expand(function () {
var self = FireworkParticle.call(this);
FireworkParticle.call(this);
var particleGraphics = this.attachAsset('redParticle', {
anchorX: 0.5,
anchorY: 0.5
});
});
var PurpleFireworkParticle = FireworkParticle.expand(function () {
var self = FireworkParticle.call(this);
FireworkParticle.call(this);
var particleGraphics = this.attachAsset('purpleParticle', {
anchorX: 0.5,
anchorY: 0.5
});
});
var PinkFireworkParticle = FireworkParticle.expand(function () {
var self = FireworkParticle.call(this);
FireworkParticle.call(this);
var particleGraphics = self.attachAsset('pinkParticle', {
anchorX: 0.5,
anchorY: 0.5
});
game.addChild(particleGraphics);
});
var GreenFireworkParticle = FireworkParticle.expand(function () {
var self = FireworkParticle.call(this);
FireworkParticle.call(this);
var particleGraphics = this.attachAsset('greenParticle', {
anchorX: 0.5,
anchorY: 0.5
});
});
// Class for Blue Firework Particle
var BlueFireworkParticle = FireworkParticle.expand(function () {
var self = FireworkParticle.call(this);
FireworkParticle.call(this);
var particleGraphics = this.attachAsset('blueParticle', {
anchorX: 0.5,
anchorY: 0.5
});
});
/****
* Initialize Game
****/
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
var game = new LK.Game({
backgroundColor: 0x000000 //Set background color to black
});
/****
* Game Code
****/
var wallpaper = game.addChild(LK.getAsset('wallpaper', {
anchorX: 0,
anchorY: 0
}));
// Play rocket sound every 4 seconds
LK.setInterval(function () {
LK.getSound('Rocket').play();
}, 4000);
// Create the text object
var newYearText = new Text2('HAPPY NEW YEAR', {
size: 100,
fill: 0xFFFFFF // Initial color
});
// Position the text at the center top
newYearText.anchor.set(0.5, 0); // Center horizontally
newYearText.x = 2048 / 2; // Center of the screen
newYearText.y = 50; // Near the top
// Add the text to the GUI layer
LK.gui.top.addChild(newYearText);
// Define an array of colors for the animation
var colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff];
// Index to track the current color
var colorIndex = 0;
// Handle game updates
// Handle game updates
game.update = function () {
// Create new firework every 25 ticks
if (LK.ticks % 25 === 0) {
var firework;
// Randomly decide the color of the firework
var fireworkType = Math.random();
if (fireworkType < 0.2) {
firework = new Firework();
} else if (fireworkType < 0.4) {
firework = new RedFirework();
} else if (fireworkType < 0.6) {
firework = new BlueFirework();
} else if (fireworkType < 0.7) {
firework = new GreenFirework();
} else if (fireworkType < 0.8) {
firework = new YellowFirework();
} else if (fireworkType < 0.9) {
firework = new PurpleFirework();
} else {
firework = new PinkFirework();
}
firework.x = Math.random() * 2048; // Random x position
firework.y = 2732; // Bottom of the screen
game.addChild(firework);
}
if (LK.ticks % 60 === 0) {
// Change color every second
colorIndex = (colorIndex + 1) % colors.length; // Cycle through colors
newYearText.setStyle({
fill: colors[colorIndex]
}); // Update text color
}
};
// Handle click and swipe event
game.down = function (x, y, obj) {
console.log("Game was clicked at", x, y);
// Store initial click position
game.initialClick = {
x: x,
y: y
};
};
game.up = function (x, y, obj) {
console.log("Game was released at", x, y);
// Calculate swipe distance
var swipeDistance = x - game.initialClick.x;
if (Math.abs(swipeDistance) > 100) {
// Check if swipe is significant
// Create a series of yellow particle explosions along the swipe line
var numberOfExplosions = 30;
for (var i = 0; i < numberOfExplosions; i++) {
var explosionX = game.initialClick.x + swipeDistance / numberOfExplosions * i;
var explosionY = game.initialClick.y;
var yellowParticle = new YellowFireworkParticle();
yellowParticle.x = explosionX;
yellowParticle.y = explosionY;
game.addChild(yellowParticle);
}
} else {
// Check if a firework was clicked
game.children.forEach(function (child) {
if (child instanceof Firework && !child.exploded && child.containsPoint(game.toLocal(obj.global))) {
// If a firework was clicked and not exploded, explode it
child.explode();
}
});
// If no firework was clicked, create a new random color firework at the click position
var fireworkTypes = [Firework, RedFirework, BlueFirework, YellowFirework, GreenFirework, PurpleFirework, PinkFirework];
var randomFireworkType = fireworkTypes[Math.floor(Math.random() * fireworkTypes.length)];
var newFirework = new randomFireworkType();
newFirework.x = x;
newFirework.y = y;
game.addChild(newFirework);
}
}; ===================================================================
--- original.js
+++ change.js