/**** * Classes ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Tile class to represent each tile in the game var Tile = Container.expand(function () { var self = Container.call(this); // Attach a random color box asset to the tile var colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff]; var color = colors[Math.floor(Math.random() * colors.length)]; var tileGraphics = self.attachAsset('tile', { width: 100, height: 100, color: color, shape: 'box', anchorX: 0.5, anchorY: 0.5 }); // Store the color for matching logic self.color = color; // Method to handle tile selection self.select = function () { // Highlight the tile or perform any selection logic tileGraphics.alpha = 0.5; }; // Method to handle tile deselection self.deselect = function () { // Remove highlight or perform any deselection logic tileGraphics.alpha = 1.0; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Game variables var grid = []; var gridSize = 6; // 6x6 grid var tileSize = 100; var selectedTile = null; // Initialize the grid function initializeGrid() { for (var i = 0; i < gridSize; i++) { grid[i] = []; for (var j = 0; j < gridSize; j++) { var tile = new Tile(); tile.x = j * tileSize + tileSize / 2 + (2048 - gridSize * tileSize) / 2; tile.y = i * tileSize + tileSize / 2 + (2732 - gridSize * tileSize) / 2; grid[i][j] = tile; game.addChild(tile); } } } // Handle tile selection function handleTileSelection(x, y) { var col = Math.floor((x - (2048 - gridSize * tileSize) / 2) / tileSize); var row = Math.floor((y - (2732 - gridSize * tileSize) / 2) / tileSize); if (col >= 0 && col < gridSize && row >= 0 && row < gridSize) { var tile = grid[row][col]; if (selectedTile) { // Swap tiles if a tile is already selected swapTiles(selectedTile, tile); selectedTile.deselect(); selectedTile = null; } else { // Select the tile selectedTile = tile; tile.select(); } } } // Swap two tiles function swapTiles(tile1, tile2) { var tempColor = tile1.color; tile1.color = tile2.color; tile2.color = tempColor; // Swap graphics var tempGraphics = tile1.children[0]; tile1.removeChild(tempGraphics); tile1.attachAsset('tile', { width: 100, height: 100, color: tile1.color, shape: 'box', anchorX: 0.5, anchorY: 0.5 }); tile2.removeChild(tile2.children[0]); tile2.attachAsset('tile', { width: 100, height: 100, color: tile2.color, shape: 'box', anchorX: 0.5, anchorY: 0.5 }); // Check for matches checkForMatches(); } // Check for matches in the grid function checkForMatches() { // Implement match checking logic here // If a match is found, remove the matched tiles and shift the grid } // Initialize the game var background = game.addChild(LK.getAsset('background', { anchorX: 0.5, anchorY: 0.5 })); background.x = 2048 / 2; background.y = 2732 / 2; initializeGrid(); // Handle touch events game.down = function (x, y, obj) { handleTileSelection(x, y); }; // Update game logic game.update = function () { // Implement any continuous game logic here };
===================================================================
--- original.js
+++ change.js
@@ -1,122 +1,128 @@
-/****
+/****
* Classes
-****/
+****/
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Tile class to represent each tile in the game
var Tile = Container.expand(function () {
- var self = Container.call(this);
- // Attach a random color box asset to the tile
- var colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff];
- var color = colors[Math.floor(Math.random() * colors.length)];
- var tileGraphics = self.attachAsset('tile', {
- width: 100,
- height: 100,
- color: color,
- shape: 'box',
- anchorX: 0.5,
- anchorY: 0.5
- });
- // Store the color for matching logic
- self.color = color;
- // Method to handle tile selection
- self.select = function () {
- // Highlight the tile or perform any selection logic
- tileGraphics.alpha = 0.5;
- };
- // Method to handle tile deselection
- self.deselect = function () {
- // Remove highlight or perform any deselection logic
- tileGraphics.alpha = 1.0;
- };
+ var self = Container.call(this);
+ // Attach a random color box asset to the tile
+ var colors = [0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff];
+ var color = colors[Math.floor(Math.random() * colors.length)];
+ var tileGraphics = self.attachAsset('tile', {
+ width: 100,
+ height: 100,
+ color: color,
+ shape: 'box',
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ // Store the color for matching logic
+ self.color = color;
+ // Method to handle tile selection
+ self.select = function () {
+ // Highlight the tile or perform any selection logic
+ tileGraphics.alpha = 0.5;
+ };
+ // Method to handle tile deselection
+ self.deselect = function () {
+ // Remove highlight or perform any deselection logic
+ tileGraphics.alpha = 1.0;
+ };
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000 //Init game with black background
+ backgroundColor: 0x000000 //Init game with black background
});
-/****
+/****
* Game Code
-****/
+****/
// Game variables
var grid = [];
var gridSize = 6; // 6x6 grid
var tileSize = 100;
var selectedTile = null;
// Initialize the grid
function initializeGrid() {
- for (var i = 0; i < gridSize; i++) {
- grid[i] = [];
- for (var j = 0; j < gridSize; j++) {
- var tile = new Tile();
- tile.x = j * tileSize + tileSize / 2 + (2048 - gridSize * tileSize) / 2;
- tile.y = i * tileSize + tileSize / 2 + (2732 - gridSize * tileSize) / 2;
- grid[i][j] = tile;
- game.addChild(tile);
- }
- }
+ for (var i = 0; i < gridSize; i++) {
+ grid[i] = [];
+ for (var j = 0; j < gridSize; j++) {
+ var tile = new Tile();
+ tile.x = j * tileSize + tileSize / 2 + (2048 - gridSize * tileSize) / 2;
+ tile.y = i * tileSize + tileSize / 2 + (2732 - gridSize * tileSize) / 2;
+ grid[i][j] = tile;
+ game.addChild(tile);
+ }
+ }
}
// Handle tile selection
function handleTileSelection(x, y) {
- var col = Math.floor((x - (2048 - gridSize * tileSize) / 2) / tileSize);
- var row = Math.floor((y - (2732 - gridSize * tileSize) / 2) / tileSize);
- if (col >= 0 && col < gridSize && row >= 0 && row < gridSize) {
- var tile = grid[row][col];
- if (selectedTile) {
- // Swap tiles if a tile is already selected
- swapTiles(selectedTile, tile);
- selectedTile.deselect();
- selectedTile = null;
- } else {
- // Select the tile
- selectedTile = tile;
- tile.select();
- }
- }
+ var col = Math.floor((x - (2048 - gridSize * tileSize) / 2) / tileSize);
+ var row = Math.floor((y - (2732 - gridSize * tileSize) / 2) / tileSize);
+ if (col >= 0 && col < gridSize && row >= 0 && row < gridSize) {
+ var tile = grid[row][col];
+ if (selectedTile) {
+ // Swap tiles if a tile is already selected
+ swapTiles(selectedTile, tile);
+ selectedTile.deselect();
+ selectedTile = null;
+ } else {
+ // Select the tile
+ selectedTile = tile;
+ tile.select();
+ }
+ }
}
// Swap two tiles
function swapTiles(tile1, tile2) {
- var tempColor = tile1.color;
- tile1.color = tile2.color;
- tile2.color = tempColor;
- // Swap graphics
- var tempGraphics = tile1.children[0];
- tile1.removeChild(tempGraphics);
- tile1.attachAsset('tile', {
- width: 100,
- height: 100,
- color: tile1.color,
- shape: 'box',
- anchorX: 0.5,
- anchorY: 0.5
- });
- tile2.removeChild(tile2.children[0]);
- tile2.attachAsset('tile', {
- width: 100,
- height: 100,
- color: tile2.color,
- shape: 'box',
- anchorX: 0.5,
- anchorY: 0.5
- });
- // Check for matches
- checkForMatches();
+ var tempColor = tile1.color;
+ tile1.color = tile2.color;
+ tile2.color = tempColor;
+ // Swap graphics
+ var tempGraphics = tile1.children[0];
+ tile1.removeChild(tempGraphics);
+ tile1.attachAsset('tile', {
+ width: 100,
+ height: 100,
+ color: tile1.color,
+ shape: 'box',
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ tile2.removeChild(tile2.children[0]);
+ tile2.attachAsset('tile', {
+ width: 100,
+ height: 100,
+ color: tile2.color,
+ shape: 'box',
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ // Check for matches
+ checkForMatches();
}
// Check for matches in the grid
function checkForMatches() {
- // Implement match checking logic here
- // If a match is found, remove the matched tiles and shift the grid
+ // Implement match checking logic here
+ // If a match is found, remove the matched tiles and shift the grid
}
// Initialize the game
+var background = game.addChild(LK.getAsset('background', {
+ anchorX: 0.5,
+ anchorY: 0.5
+}));
+background.x = 2048 / 2;
+background.y = 2732 / 2;
initializeGrid();
// Handle touch events
game.down = function (x, y, obj) {
- handleTileSelection(x, y);
+ handleTileSelection(x, y);
};
// Update game logic
game.update = function () {
- // Implement any continuous game logic here
+ // Implement any continuous game logic here
};
\ No newline at end of file