User prompt
increase stone throw cooldown to 0.4 sec
User prompt
add stone throw cooldown of 0.1 sec
User prompt
remove stone throw cooldown
User prompt
spawn a superbottle every 25 score
User prompt
spawn a goldenbottle every 25 score
User prompt
make stone throw cooldown 0.1 sec
User prompt
throw 1 stone at a time
User prompt
add a superbottle which will give 50 points when destroyed and make its spawn chance 1 in 1000
User prompt
add powerup named (2x points) for cost of 100 points from shop.By activating this you earn 2x points for next 10 minutes
User prompt
add a shop where you can buy powerups:-
User prompt
add bottleburst effects
User prompt
you can only hit stone when you click on screen
User prompt
when a bottle is hit by stone apply bottleburst assets to it
User prompt
add shop icon on bottom left corner
User prompt
make a shop section
Initial prompt
Bottle burst
===================================================================
--- original.js
+++ change.js
@@ -1,102 +1,112 @@
-/****
+/****
* Classes
-****/
+****/
// Bottle class
var Bottle = Container.expand(function () {
- var self = Container.call(this);
- var bottleGraphics = self.attachAsset('bottle', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.update = function () {
- // Bottle specific update logic if needed
- };
+ var self = Container.call(this);
+ var bottleGraphics = self.attachAsset('bottle', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.update = function () {
+ // Bottle specific update logic if needed
+ };
});
+// Shop class
+var Shop = Container.expand(function () {
+ var self = Container.call(this);
+ self.update = function () {
+ // Shop specific update logic if needed
+ };
+});
//<Assets used in the game will automatically appear here>
// Stone class
var Stone = Container.expand(function () {
- var self = Container.call(this);
- var stoneGraphics = self.attachAsset('stone', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = -10;
- self.update = function () {
- self.y += self.speed;
- };
+ var self = Container.call(this);
+ var stoneGraphics = self.attachAsset('stone', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = -10;
+ self.update = function () {
+ self.y += self.speed;
+ };
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000 //Init game with black background
+ backgroundColor: 0x000000 //Init game with black background
});
-/****
+/****
* Game Code
-****/
-// Initialize arrays and variables
+****/
+// Initialize arrays, variables and shop
+var shop = new Shop();
var stones = [];
var bottles = [];
var score = 0;
var scoreTxt = new Text2('0', {
- size: 150,
- fill: "#ffffff"
+ size: 150,
+ fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Function to handle stone throwing
function throwStone(x, y) {
- var newStone = new Stone();
- newStone.x = x;
- newStone.y = y;
- stones.push(newStone);
- game.addChild(newStone);
+ var newStone = new Stone();
+ newStone.x = x;
+ newStone.y = y;
+ stones.push(newStone);
+ game.addChild(newStone);
}
// Function to create bottles at random positions
function createBottle() {
- var newBottle = new Bottle();
- newBottle.x = Math.random() * 2048;
- newBottle.y = Math.random() * 1000 + 500;
- bottles.push(newBottle);
- game.addChild(newBottle);
+ var newBottle = new Bottle();
+ newBottle.x = Math.random() * 2048;
+ newBottle.y = Math.random() * 1000 + 500;
+ bottles.push(newBottle);
+ game.addChild(newBottle);
}
+// Add shop to the game
+game.addChild(shop);
// Create initial bottles
for (var i = 0; i < 5; i++) {
- createBottle();
+ createBottle();
}
// Handle game move event
game.move = function (x, y, obj) {
- // Handle stone throwing
- throwStone(x, y);
+ // Handle stone throwing
+ throwStone(x, y);
};
// Update game logic
game.update = function () {
- // Update stones
- for (var i = stones.length - 1; i >= 0; i--) {
- stones[i].update();
- // Check for collision with bottles
- for (var j = bottles.length - 1; j >= 0; j--) {
- if (stones[i].intersects(bottles[j])) {
- // Update score
- score += 1;
- LK.setScore(score);
- scoreTxt.setText(score);
- // Destroy bottle and stone
- bottles[j].destroy();
- bottles.splice(j, 1);
- stones[i].destroy();
- stones.splice(i, 1);
- // Create a new bottle
- createBottle();
- break;
- }
- }
- // Destroy stones that are off screen
- if (stones[i] && stones[i].y < -50) {
- stones[i].destroy();
- stones.splice(i, 1);
- }
- }
+ // Update stones
+ for (var i = stones.length - 1; i >= 0; i--) {
+ stones[i].update();
+ // Check for collision with bottles
+ for (var j = bottles.length - 1; j >= 0; j--) {
+ if (stones[i].intersects(bottles[j])) {
+ // Update score
+ score += 1;
+ LK.setScore(score);
+ scoreTxt.setText(score);
+ // Destroy bottle and stone
+ bottles[j].destroy();
+ bottles.splice(j, 1);
+ stones[i].destroy();
+ stones.splice(i, 1);
+ // Create a new bottle
+ createBottle();
+ break;
+ }
+ }
+ // Destroy stones that are off screen
+ if (stones[i] && stones[i].y < -50) {
+ stones[i].destroy();
+ stones.splice(i, 1);
+ }
+ }
};
\ No newline at end of file
2d stone transparent background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Shop icon in a square box. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
golden bottle transparent background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
shopmenu transparent background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
dark wooden floor. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
2x points buff. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
bomb transparent background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.