Code edit (1 edits merged)
Please save this source code
User prompt
move gauge bar even closer to custoemr
User prompt
move gauge bar closer to customer
User prompt
make gauge bar colors softer
User prompt
change gauge bar tint depending on its size%.
User prompt
gauge bar should be decreaseing its witdh constantly
Code edit (1 edits merged)
Please save this source code
User prompt
make gauge bar a little thicker
User prompt
add a gauge bar under each customer
User prompt
move score to the right corner
User prompt
customers shoudl not be created close to each other
User prompt
when a level is complete delete previous customers
User prompt
add a level structure to the game. when all orders are fulfilled start next level
Code edit (3 edits merged)
Please save this source code
User prompt
customer also cant be cretaed on the top 10% of the screen
Code edit (1 edits merged)
Please save this source code
User prompt
customer cant be created in the bottom 105 of the screen
User prompt
custoemrs should have 300 pixels spacign between each other
User prompt
customers should not be positioned int he top 10% or bottom 10% of the screen
User prompt
add more space between each inventroy item
User prompt
add 100 more pixels between invetory items
User prompt
double the size of inventory items
User prompt
double size of items on the bottom of the screen and add 100 pixels between each item
User prompt
items should start dimmed
User prompt
dim items when unselected and undime when selected
/**** * Classes ****/ //<Assets used in the game will automatically appear here> // Customer class var Customer = Container.expand(function () { var self = Container.call(this); var customerGraphics = self.attachAsset('customer', { anchorX: 0.5, anchorY: 0.5 }); self.orderBubble = null; self.gaugeBar = null; self.setOrder = function (order) { if (self.orderBubble) { self.removeChild(self.orderBubble); } self.order = Array.isArray(order) ? order : [order]; self.orderBubble = new OrderBubble(self.order); self.orderBubble.x = 0; self.orderBubble.y = -self.height / 2 - self.orderBubble.height / 2; if (!self.orderBubble.visible) { self.orderBubble.visible = false; // Hide order bubble on game start } self.addChild(self.orderBubble); self.update = function () { if (self.gaugeBar.width > 0) { self.gaugeBar.width -= 0.1; // Change gauge bar tint depending on its size if (self.gaugeBar.width > 70) { self.gaugeBar.tint = 0x90EE90; // Light Green } else if (self.gaugeBar.width > 30) { self.gaugeBar.tint = 0xFFFFE0; // Light Yellow } else { self.gaugeBar.tint = 0xFFB6C1; // Light Red } } else { // Handle what happens when the gauge bar is empty } }; self.gaugeBar = LK.getAsset('gaugeBar', { anchorX: 0.5, anchorY: 0.5, width: self.width, height: 40 }); self.gaugeBar.x = 0; self.gaugeBar.y = self.height; self.addChild(self.gaugeBar); }; self.getOrder = function () { return self.order; }; self.on('down', function (x, y, obj) { if (self.orderBubble && !self.orderBubble.visible) { self.orderBubble.visible = true; } if (selectedItem && self.order.includes(selectedItem.getType())) { // Dim the item in the order bubble if (self.orderBubble.orderAsset1 && self.orderBubble.orderAsset1.type === selectedItem.getType()) { self.orderBubble.orderAsset1.alpha = 0.5; } if (self.orderBubble.orderAsset2 && self.orderBubble.orderAsset2.type === selectedItem.getType()) { self.orderBubble.orderAsset2.alpha = 0.5; } // Check if the order is fulfilled checkOrderFulfillment(self); } }); }); // Item class var Item = Container.expand(function (type) { var self = Container.call(this); var itemGraphics = self.attachAsset(type, { anchorX: 0.5, anchorY: 0.5 }); self.type = type; self.getType = function () { return self.type; }; self.alpha = 0.5; // Start items as dimmed self.on('down', function (x, y, obj) { if (selectedItem) { selectedItem.scaleX = 1; selectedItem.scaleY = 1; selectedItem.alpha = 0.5; // Dim the previously selected item } selectedItem = self; console.log("Item selected:", self.type); self.scaleX = 1.2; self.scaleY = 1.2; self.alpha = 1; // Undim the selected item }); }); // OrderBubble class var OrderBubble = Container.expand(function (order) { var self = Container.call(this); var bubbleGraphics = self.attachAsset('bubble', { anchorX: 0.5, anchorY: 0.5 }); self.order = order; if (Array.isArray(order)) { if (order.length > 0) { self.orderAsset1 = self.attachAsset(order[0], { anchorX: 0.5, anchorY: 0.5 }); self.orderAsset1.type = order[0]; self.orderAsset1.x = -60; } if (order.length > 1) { self.orderAsset2 = self.attachAsset(order[1], { anchorX: 0.5, anchorY: 0.5 }); self.orderAsset2.type = order[1]; self.orderAsset2.x = 60; } } else { self.orderAsset = self.attachAsset(order, { anchorX: 0.5, anchorY: 0.5 }); } }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Init game with sky blue background }); /**** * Game Code ****/ // Initialize arrays and variables var selectedItem = null; // Variable to track the currently selected item var customers = []; var items = []; var inventory = []; // Inventory array to hold all items from the bar var score = 0; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Function to check if all items of an order are delivered function checkOrderFulfillment(customer) { // Check if all items are dimmed var allDimmed = true; if (customer.orderBubble.orderAsset1 && customer.orderBubble.orderAsset1.alpha === 1) { allDimmed = false; } if (customer.orderBubble.orderAsset2 && customer.orderBubble.orderAsset2.alpha === 1) { allDimmed = false; } if (allDimmed) { // Increase score score += 10; scoreTxt.setText(score); } } // Function to create a new customer function createCustomer() { var customer = new Customer(); var safeDistance = 200; // Minimum distance between customers var validPosition = false; while (!validPosition) { customer.x = Math.random() * 2048; customer.y = Math.random() * (2200 - 300) + 373.2; validPosition = true; for (var i = 0; i < customers.length; i++) { var distance = Math.sqrt(Math.pow(customers[i].x - customer.x, 2) + Math.pow(customers[i].y - customer.y, 2)); if (distance < safeDistance) { validPosition = false; break; } } } var order = ['towel', 'umbrella', 'refreshment', 'snack'].sort(function () { return 0.5 - Math.random(); }).slice(0, Math.floor(Math.random() * 2) + 1); customer.setOrder(order); customers.push(customer); game.addChild(customer); } // Function to create a new item function createItem(type, x, y) { var item = new Item(type); item.x = x; item.y = y; item.width = 200; item.height = 200; items.push(item); inventory.push(item); // Add item to inventory array item.visible = true; // Show item on game start game.addChild(item); } // Create initial customers for (var i = 0; i < 5; i++) { createCustomer(); } // Update function game.update = function () { if (LK.ticks % 300 == 0 && customers.length < 5) { createCustomer(); } }; // Create initial items createItem('towel', 2048 / 2 - 500, 2732 - 200); createItem('umbrella', 2048 / 2 - 250, 2732 - 200); createItem('refreshment', 2048 / 2, 2732 - 200); createItem('snack', 2048 / 2 + 250, 2732 - 200);
===================================================================
--- original.js
+++ change.js
@@ -44,9 +44,9 @@
width: self.width,
height: 40
});
self.gaugeBar.x = 0;
- self.gaugeBar.y = self.height / 2 + 2;
+ self.gaugeBar.y = self.height;
self.addChild(self.gaugeBar);
};
self.getOrder = function () {
return self.order;
8bit. cartoon. icecream. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cartoon and 8 bit message. reads: Time's Up!. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
8bit. cartoon. palm tree.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.