/****
* Classes
****/
//<Assets used in the game will automatically appear here>
// Car class representing a car in the game
var Car = Container.expand(function () {
var self = Container.call(this);
var carGraphics = self.attachAsset('car', {
anchorX: 0.5,
anchorY: 0.5
});
self.price = Math.floor(Math.random() * 10000) + 5000; // Random price between 5000 and 15000
self.update = function () {
// Update logic for the car if needed
};
});
// Market class representing the car market
var Market = Container.expand(function () {
var self = Container.call(this);
var marketGraphics = self.attachAsset('market', {
anchorX: 0.5,
anchorY: 0.5
});
self.cars = [];
self.addCar = function (car) {
self.cars.push(car);
self.addChild(car);
};
self.update = function () {
// Update logic for the market if needed
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize variables
var playerMoney = 50000; // Player starts with $50,000
var playerCars = [];
var market = new Market();
market.x = 2048 / 2;
market.y = 2732 / 2;
game.addChild(market);
// Function to buy a car
function buyCar(car) {
if (playerMoney >= car.price) {
playerMoney -= car.price;
playerCars.push(car);
market.removeChild(car);
market.cars.splice(market.cars.indexOf(car), 1);
updateUI();
} else {
console.log("Not enough money to buy this car.");
}
}
// Function to sell a car
function sellCar(car) {
playerMoney += car.price;
playerCars.splice(playerCars.indexOf(car), 1);
updateUI();
}
// Function to update the UI
function updateUI() {
moneyText.setText("Money: $" + playerMoney);
carsText.setText("Cars: " + playerCars.length);
}
// Create UI elements
var moneyText = new Text2("Money: $" + playerMoney, {
size: 50,
fill: "#ffffff"
});
moneyText.anchor.set(0.5, 0);
LK.gui.top.addChild(moneyText);
var carsText = new Text2("Cars: " + playerCars.length, {
size: 50,
fill: "#ffffff"
});
carsText.anchor.set(0.5, 0);
LK.gui.top.addChild(carsText);
// Add some cars to the market
for (var i = 0; i < 5; i++) {
var car = new Car();
car.x = Math.random() * 2048;
car.y = Math.random() * 2732;
market.addCar(car);
}
// Event listeners for buying and selling cars
market.down = function (x, y, obj) {
var localPos = market.toLocal(obj.global);
market.cars.forEach(function (car) {
if (car.containsPoint(localPos)) {
buyCar(car);
}
});
};
game.down = function (x, y, obj) {
var localPos = game.toLocal(obj.global);
playerCars.forEach(function (car) {
if (car.containsPoint(localPos)) {
sellCar(car);
}
});
};
// Update function for the game
game.update = function () {
market.update();
playerCars.forEach(function (car) {
car.update();
});
};