/**** * Classes ****/ //<Assets used in the game will automatically appear here> // Chocolate class var Chocolate = Container.expand(function () { var self = Container.call(this); var chocolateGraphics = self.attachAsset('chocolate', { anchorX: 0.5, anchorY: 0.5 }); self.containsPoint = function (point) { var bounds = self.getBounds(); return point.x >= bounds.x && point.x <= bounds.x + bounds.width && point.y >= bounds.y && point.y <= bounds.y + bounds.height; }; self.update = function () { // Update logic for chocolate }; }); // Customer class var Customer = Container.expand(function () { var self = Container.call(this); var customerGraphics = self.attachAsset('customer', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for customer }; }); // House class var House = Container.expand(function () { var self = Container.call(this); var houseGraphics = self.attachAsset('house', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for house }; }); var Money = Container.expand(function () { var self = Container.call(this); var moneyGraphics = self.attachAsset('money', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for money }; }); // Shop class var Shop = Container.expand(function () { var self = Container.call(this); var shopGraphics = self.attachAsset('shop', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for shop }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize arrays and variables var chocolates = []; var customers = []; var score = 0; var money = []; function createMoney() { var moneyInstance = new Money(); moneyInstance.x = Math.random() * 2048; moneyInstance.y = Math.random() * 1000; money.push(moneyInstance); game.addChild(moneyInstance); } var dragNode = null; // Create and position shop var shop = game.addChild(new Shop()); shop.x = 2048 / 2; shop.y = 2732 - 200; // Create and position house var house = game.addChild(new House()); house.x = 2048 / 2; house.y = 2732 / 2; // Create score text var scoreTxt = new Text2('Score: 0', { size: 100, fill: "#ffffff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Function to create a new chocolate function createChocolate() { var chocolate = new Chocolate(); chocolate.x = Math.random() * 2048; chocolate.y = Math.random() * 1000; chocolates.push(chocolate); game.addChild(chocolate); } // Function to create a new customer function createCustomer() { var customer = new Customer(); customer.x = Math.random() * 2048; customer.y = Math.random() * 1000; customers.push(customer); game.addChild(customer); } // Update score function updateScore() { scoreTxt.setText('Score: ' + score); } // Handle move events function handleMove(x, y, obj) { // Handle dragging chocolates if (dragNode) { dragNode.x = x; dragNode.y = y; } } // Handle down events game.down = function (x, y, obj) { // Check if a chocolate is clicked for (var i = 0; i < chocolates.length; i++) { if (chocolates[i].containsPoint({ x: x, y: y })) { dragNode = chocolates[i]; break; } } handleMove(x, y, obj); }; // Handle up events game.up = function (x, y, obj) { dragNode = null; }; // Game update function game.update = function () { // Check for interactions between chocolates and customers for (var i = chocolates.length - 1; i >= 0; i--) { for (var j = customers.length - 1; j >= 0; j--) { if (chocolates[i].intersects(customers[j])) { // Increase score and remove chocolate and customer score += 10; updateScore(); chocolates[i].destroy(); customers[j].destroy(); chocolates.splice(i, 1); customers.splice(j, 1); break; } } } // Create new chocolates and customers periodically if (LK.ticks % 60 == 0) { createChocolate(); } if (LK.ticks % 120 == 0) { createCustomer(); } if (LK.ticks % 180 == 0) { createMoney(); } }; // Initialize game elements createChocolate(); createCustomer();
/****
* Classes
****/
//<Assets used in the game will automatically appear here>
// Chocolate class
var Chocolate = Container.expand(function () {
var self = Container.call(this);
var chocolateGraphics = self.attachAsset('chocolate', {
anchorX: 0.5,
anchorY: 0.5
});
self.containsPoint = function (point) {
var bounds = self.getBounds();
return point.x >= bounds.x && point.x <= bounds.x + bounds.width && point.y >= bounds.y && point.y <= bounds.y + bounds.height;
};
self.update = function () {
// Update logic for chocolate
};
});
// Customer class
var Customer = Container.expand(function () {
var self = Container.call(this);
var customerGraphics = self.attachAsset('customer', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for customer
};
});
// House class
var House = Container.expand(function () {
var self = Container.call(this);
var houseGraphics = self.attachAsset('house', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for house
};
});
var Money = Container.expand(function () {
var self = Container.call(this);
var moneyGraphics = self.attachAsset('money', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for money
};
});
// Shop class
var Shop = Container.expand(function () {
var self = Container.call(this);
var shopGraphics = self.attachAsset('shop', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for shop
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize arrays and variables
var chocolates = [];
var customers = [];
var score = 0;
var money = [];
function createMoney() {
var moneyInstance = new Money();
moneyInstance.x = Math.random() * 2048;
moneyInstance.y = Math.random() * 1000;
money.push(moneyInstance);
game.addChild(moneyInstance);
}
var dragNode = null;
// Create and position shop
var shop = game.addChild(new Shop());
shop.x = 2048 / 2;
shop.y = 2732 - 200;
// Create and position house
var house = game.addChild(new House());
house.x = 2048 / 2;
house.y = 2732 / 2;
// Create score text
var scoreTxt = new Text2('Score: 0', {
size: 100,
fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Function to create a new chocolate
function createChocolate() {
var chocolate = new Chocolate();
chocolate.x = Math.random() * 2048;
chocolate.y = Math.random() * 1000;
chocolates.push(chocolate);
game.addChild(chocolate);
}
// Function to create a new customer
function createCustomer() {
var customer = new Customer();
customer.x = Math.random() * 2048;
customer.y = Math.random() * 1000;
customers.push(customer);
game.addChild(customer);
}
// Update score
function updateScore() {
scoreTxt.setText('Score: ' + score);
}
// Handle move events
function handleMove(x, y, obj) {
// Handle dragging chocolates
if (dragNode) {
dragNode.x = x;
dragNode.y = y;
}
}
// Handle down events
game.down = function (x, y, obj) {
// Check if a chocolate is clicked
for (var i = 0; i < chocolates.length; i++) {
if (chocolates[i].containsPoint({
x: x,
y: y
})) {
dragNode = chocolates[i];
break;
}
}
handleMove(x, y, obj);
};
// Handle up events
game.up = function (x, y, obj) {
dragNode = null;
};
// Game update function
game.update = function () {
// Check for interactions between chocolates and customers
for (var i = chocolates.length - 1; i >= 0; i--) {
for (var j = customers.length - 1; j >= 0; j--) {
if (chocolates[i].intersects(customers[j])) {
// Increase score and remove chocolate and customer
score += 10;
updateScore();
chocolates[i].destroy();
customers[j].destroy();
chocolates.splice(i, 1);
customers.splice(j, 1);
break;
}
}
}
// Create new chocolates and customers periodically
if (LK.ticks % 60 == 0) {
createChocolate();
}
if (LK.ticks % 120 == 0) {
createCustomer();
}
if (LK.ticks % 180 == 0) {
createMoney();
}
};
// Initialize game elements
createChocolate();
createCustomer();