User prompt
Can you fix it so it actually works
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save(); // Ensure storage is saved correctly after resetting progress' Line Number: 111 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save(); // Ensure storage is saved correctly after resetting progress' Line Number: 111 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save(); // Ensure storage is saved correctly after resetting progress' Line Number: 111 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save(); // Ensure storage is saved correctly after resetting progress' Line Number: 111 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save(); // Ensure storage is saved correctly after resetting progress' Line Number: 108 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
PLEASE FIX IT
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save(); // Ensure storage is saved correctly after resetting progress' Line Number: 108 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save();' Line Number: 108 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save();' Line Number: 108 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save();' Line Number: 182 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'storage.save();' Line Number: 108
User prompt
When you reset your progress make the rate be reset too
User prompt
It didnt work
User prompt
That means the text should still say rate 0.9 because its saved ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Make so it also saves it if you bought the rate upgrade
User prompt
Make it so when you click on the rate asset, if you have 10 or more gold, it charges you 10 gold, and the firing rate of the slime's shoots increases from 1 second to 0.9 seconds, and uodate the rate text to say rate 0.9s
User prompt
Add a text under the rate text saying 10$
User prompt
It didnt work
User prompt
No when the wave = 5 the cubes get fatser by 25% not 0.5% every wave
User prompt
Found a glitch where when you reach level five the cube assets arent getting faster,
User prompt
Now make a button on the top right corner that has a red text saying reset progress, and when you click it, all your progress gets reset
User prompt
Now make it so when the wave = 5 the cube's speed goes up by 20%
User prompt
Found a glitch where everytime you refrsh the page, you go up a wave please fix that
User prompt
Make it so at the very start of your game (not including if you have played the game) so if you are just playing the game fir the first time, make the wave 1 and gold 10
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
// Create a new class for the cube asset
var Cube = Container.expand(function () {
var self = Container.call(this);
// Attach the cube asset to the Cube class
var cubeGraphics = self.attachAsset('Cube', {
anchorX: 0.5,
anchorY: 0.5
});
// Set the cube's speed
self.speed = 3;
// Increase cube's speed by 0.5% every wave
self.update = function () {
self.speed += self.speed * 0.005 * waveText.wave;
};
// Set the cube's health
self.health = 1;
// Set the cube's health
self.health = 1;
// Update the cube's position every game tick
self.update = function () {
// Calculate the distance between the cube and the slime
var dx = slime.x - self.x;
var dy = slime.y - self.y;
var distance = Math.sqrt(dx * dx + dy * dy);
// Normalize the direction vector (dx and dy)
dx /= distance;
dy /= distance;
// Move the cube towards the slime at a constant speed
self.x += dx * self.speed;
self.y += dy * self.speed;
};
});
// Create a new class for the shoot asset
var Shoot = Container.expand(function () {
var self = Container.call(this);
// Attach the shoot asset to the Shoot class
var shootGraphics = self.attachAsset('Shoot', {
anchorX: 0.5,
anchorY: 0.5
});
// Set the shoot's speed
self.speed = 5;
// Set the shoot's damage
self.damage = 1;
// Set the shoot's damage
self.damage = 1;
// Update the shoot's position every game tick
self.update = function () {
// Move the shoot to the right at a constant speed
self.x += self.speed;
};
});
// Create a new class for the gold text
var GoldText = Text2.expand(function () {
var self = Text2.call(this, 'Gold: 0', {
size: 100,
fill: 0xFFFFFF
});
self.anchor.set(0, 0);
self.x = 50;
self.y = 150;
self.gold = storage.gold || 10; // Set initial gold to 10
self.update = function () {
self.setText('Gold: ' + self.gold);
};
});
// Create a new class for the reset button
var ResetButton = Text2.expand(function () {
var self = Text2.call(this, 'Reset Progress', {
size: 100,
fill: 0xFF0000 // Red color
});
self.anchor.set(1, 0); // Anchor to top right
self.x = 2048 - 50; // Position to top right with 50px padding
self.y = 50;
self.interactive = true; // Make the button clickable
self.down = function () {
// Reset progress
storage.wave = 1;
storage.gold = 10;
waveText.wave = 1;
goldText.gold = 10;
};
});
// Create a new class for the wave text
var WaveText = Text2.expand(function () {
var self = Text2.call(this, 'Wave: 0', {
size: 100,
fill: 0xFFFFFF
});
self.anchor.set(0, 0);
self.x = 50;
self.y = 50;
self.wave = storage.wave || 1; // Set initial wave to 1
self.update = function () {
self.setText('Wave: ' + self.wave);
};
});
/****
* Initialize Game
****/
// Spawn the cube asset from the cubestart asset every 60 game ticks
//<Assets used in the game will automatically appear here>
var game = new LK.Game({
backgroundColor: 0x008000 //Init game with green background
});
/****
* Game Code
****/
// Add slime asset to the game screen, make it 2x bigger and move it to the left
// Spawn the cube asset from the cubestart asset every 60 game ticks
//<Assets used in the game will automatically appear here>
var slime = game.addChild(LK.getAsset('Slime', {
anchorX: 0.5,
anchorY: 0.5,
x: 200,
y: 1350,
// Adjusted y position to move the slime down a little
scaleX: 2,
scaleY: 2
}));
// Add menu asset to the game screen
var menu = game.addChild(LK.getAsset('Menu', {
anchorX: 0.5,
anchorY: 0.5,
x: 1024,
y: 2766,
scaleX: 25,
scaleY: 25
}));
// Add rate asset to the game screen and make it bigger
var rate = game.addChild(LK.getAsset('Rate', {
anchorX: 0.5,
anchorY: 0.5,
x: 250,
// Moved a little to the right
y: 1816,
// Moved a little down
scaleX: 4,
scaleY: 4
}));
// Add text to the rate asset
var rateText = new Text2('Rate 1s', {
size: 100,
fill: 0xFFFFFF
});
rateText.anchor.set(0.5, 0.5);
rateText.x = rate.x;
rateText.y = rate.y;
game.addChild(rateText);
// Add cubestart asset to the game screen
var cubestart = game.addChild(LK.getAsset('Cubesstart', {
anchorX: 0.5,
anchorY: 0.5,
x: 1800,
// Moved to the right by a lot
y: 1366,
scaleX: 2,
scaleY: 2
}));
// Add the wave text to the game screen
var waveText = game.addChild(new WaveText());
// Add the gold text to the game screen
var goldText = game.addChild(new GoldText());
// Add the reset button to the game screen
var resetButton = game.addChild(new ResetButton());
game.update = function () {
// Spawn the cube asset from the cubestart asset every 60 game ticks
if (LK.ticks % 60 == 0) {
var newCube = new Cube();
newCube.x = cubestart.x;
newCube.y = cubestart.y;
game.addChild(newCube);
}
// Update the wave text every 600 game ticks
if (LK.ticks % 600 == 0 && LK.ticks != 0) {
waveText.wave++;
goldText.gold += 10;
storage.wave = waveText.wave;
storage.gold = goldText.gold;
}
// Make the slime asset shoot out the shoot asset to the right once every second
if (LK.ticks % 60 == 0) {
var newShoot = new Shoot();
newShoot.x = slime.x;
newShoot.y = slime.y;
newShoot.update = function () {
// Move the shoot to the right at a constant speed
this.x += this.speed;
};
game.addChild(newShoot);
}
// Check for collisions between Cube and Shoot objects
for (var i = 0; i < game.children.length; i++) {
var obj1 = game.children[i];
if (obj1 instanceof Cube) {
for (var j = 0; j < game.children.length; j++) {
var obj2 = game.children[j];
if (obj2 instanceof Shoot && obj1.intersects(obj2)) {
// Destroy both objects on collision
obj1.destroy();
obj2.destroy();
break;
}
}
}
}
}; ===================================================================
--- original.js
+++ change.js
@@ -18,13 +18,9 @@
// Set the cube's speed
self.speed = 3;
// Increase cube's speed by 0.5% every wave
self.update = function () {
- if (waveText.wave === 5) {
- self.speed += self.speed * 0.2;
- } else {
- self.speed += self.speed * 0.005 * waveText.wave;
- }
+ self.speed += self.speed * 0.005 * waveText.wave;
};
// Set the cube's health
self.health = 1;
// Set the cube's health