/**** 
* Plugins
****/ 
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/**** 
* Classes
****/ 
var Block = Container.expand(function () {
	var self = Container.call(this);
	var blockGraphics = self.attachAsset('block', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	return self;
});
var Player = Container.expand(function () {
	var self = Container.call(this);
	var playerGraphics = self.attachAsset('player', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.inventory = [];
	return self;
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x87CEEB // Sky blue background
});
/**** 
* Game Code
****/ 
// Initialize assets used in this game. Scale them according to what is needed for the game.
game.setBackgroundColor(0x87CEEB); // Set background color to sky blue
var player = game.addChild(new Player());
player.x = 2048 / 2;
player.y = 2732 / 2;
var blocks = [];
var isPlacingBlock = false;
// Function to place a block
function placeBlock(x, y) {
	var newBlock = new Block();
	newBlock.x = Math.floor(x / 100) * 100;
	newBlock.y = Math.floor(y / 100) * 100;
	blocks.push(newBlock);
	game.addChild(newBlock);
	LK.getSound('placeBlock').play();
}
// Function to mine a block
function mineBlock(block) {
	block.destroy();
	blocks.splice(blocks.indexOf(block), 1);
	LK.getSound('mineBlock').play();
}
// Handle game move events
game.move = function (x, y, obj) {
	if (isPlacingBlock) {
		placeBlock(x, y);
	}
};
// Handle game down events
game.down = function (x, y, obj) {
	isPlacingBlock = true;
	placeBlock(x, y);
};
// Handle game up events
game.up = function (x, y, obj) {
	isPlacingBlock = false;
};
// Update game every tick
game.update = function () {
	// Check for block mining
	for (var i = blocks.length - 1; i >= 0; i--) {
		if (player.intersects(blocks[i])) {
			mineBlock(blocks[i]);
		}
	}
};
// Play background music
LK.playMusic('bgMusic'); /**** 
* Plugins
****/ 
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/**** 
* Classes
****/ 
var Block = Container.expand(function () {
	var self = Container.call(this);
	var blockGraphics = self.attachAsset('block', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	return self;
});
var Player = Container.expand(function () {
	var self = Container.call(this);
	var playerGraphics = self.attachAsset('player', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.inventory = [];
	return self;
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x87CEEB // Sky blue background
});
/**** 
* Game Code
****/ 
// Initialize assets used in this game. Scale them according to what is needed for the game.
game.setBackgroundColor(0x87CEEB); // Set background color to sky blue
var player = game.addChild(new Player());
player.x = 2048 / 2;
player.y = 2732 / 2;
var blocks = [];
var isPlacingBlock = false;
// Function to place a block
function placeBlock(x, y) {
	var newBlock = new Block();
	newBlock.x = Math.floor(x / 100) * 100;
	newBlock.y = Math.floor(y / 100) * 100;
	blocks.push(newBlock);
	game.addChild(newBlock);
	LK.getSound('placeBlock').play();
}
// Function to mine a block
function mineBlock(block) {
	block.destroy();
	blocks.splice(blocks.indexOf(block), 1);
	LK.getSound('mineBlock').play();
}
// Handle game move events
game.move = function (x, y, obj) {
	if (isPlacingBlock) {
		placeBlock(x, y);
	}
};
// Handle game down events
game.down = function (x, y, obj) {
	isPlacingBlock = true;
	placeBlock(x, y);
};
// Handle game up events
game.up = function (x, y, obj) {
	isPlacingBlock = false;
};
// Update game every tick
game.update = function () {
	// Check for block mining
	for (var i = blocks.length - 1; i >= 0; i--) {
		if (player.intersects(blocks[i])) {
			mineBlock(blocks[i]);
		}
	}
};
// Play background music
LK.playMusic('bgMusic');