/**** * Classes ****/ //<Assets used in the game will automatically appear here> // Class for individual letter tiles var LetterTile = Container.expand(function () { var self = Container.call(this); var tileGraphics = self.attachAsset('tile', { anchorX: 0.5, anchorY: 0.5 }); self.letter = ''; self.setLetter = function (_char) { self.letter = _char; self.text.setText(_char); }; self.text = new Text2('', { size: 100, fill: "#ffffff" }); self.text.anchor.set(0.5, 0.5); self.addChild(self.text); }); // Class for the word puzzle board var WordPuzzleBoard = Container.expand(function () { var self = Container.call(this); self.tiles = []; self.createBoard = function (rows, cols) { for (var i = 0; i < rows; i++) { self.tiles[i] = []; for (var j = 0; j < cols; j++) { var tile = new LetterTile(); tile.x = j * 120; tile.y = i * 120; self.tiles[i][j] = tile; self.addChild(tile); } } }; self.setWord = function (word) { for (var i = 0; i < word.length; i++) { var row = Math.floor(i / self.tiles[0].length); var col = i % self.tiles[0].length; self.tiles[row][col].setLetter(word[i]); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize the word puzzle board var puzzleBoard = new WordPuzzleBoard(); puzzleBoard.createBoard(5, 5); // Create a 5x5 board puzzleBoard.x = (2048 - 5 * 120) / 2; // Center the board horizontally puzzleBoard.y = (2732 - 5 * 120) / 2; // Center the board vertically game.addChild(puzzleBoard); // Set a word on the board puzzleBoard.setWord("HELLO"); // Handle touch events to select tiles var selectedTiles = []; game.down = function (x, y, obj) { var localPos = game.toLocal(obj.global); for (var i = 0; i < puzzleBoard.tiles.length; i++) { for (var j = 0; j < puzzleBoard.tiles[i].length; j++) { var tile = puzzleBoard.tiles[i][j]; if (tile.getBounds().contains(localPos.x, localPos.y)) { selectedTiles.push(tile); tile.alpha = 0.5; // Highlight selected tile } } } }; game.up = function (x, y, obj) { // Check if selected tiles form a valid word var formedWord = selectedTiles.map(function (tile) { return tile.letter; }).join(''); if (isValidWord(formedWord)) { LK.setScore(LK.getScore() + formedWord.length); } // Reset selected tiles selectedTiles.forEach(function (tile) { return tile.alpha = 1; }); selectedTiles = []; }; // Function to check if a word is valid function isValidWord(word) { // Placeholder for word validation logic return word === "HELLO"; } // Update score display var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.setText(LK.getScore()); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); game.update = function () { scoreTxt.setText(LK.getScore()); };
===================================================================
--- original.js
+++ change.js
@@ -1,62 +1,62 @@
-/****
+/****
* Classes
-****/
+****/
//<Assets used in the game will automatically appear here>
// Class for individual letter tiles
var LetterTile = Container.expand(function () {
- var self = Container.call(this);
- var tileGraphics = self.attachAsset('tile', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.letter = '';
- self.setLetter = function (char) {
- self.letter = char;
- self.text.setText(char);
- };
- self.text = new Text2('', {
- size: 100,
- fill: "#ffffff"
- });
- self.text.anchor.set(0.5, 0.5);
- self.addChild(self.text);
+ var self = Container.call(this);
+ var tileGraphics = self.attachAsset('tile', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.letter = '';
+ self.setLetter = function (_char) {
+ self.letter = _char;
+ self.text.setText(_char);
+ };
+ self.text = new Text2('', {
+ size: 100,
+ fill: "#ffffff"
+ });
+ self.text.anchor.set(0.5, 0.5);
+ self.addChild(self.text);
});
// Class for the word puzzle board
var WordPuzzleBoard = Container.expand(function () {
- var self = Container.call(this);
- self.tiles = [];
- self.createBoard = function (rows, cols) {
- for (var i = 0; i < rows; i++) {
- self.tiles[i] = [];
- for (var j = 0; j < cols; j++) {
- var tile = new LetterTile();
- tile.x = j * 120;
- tile.y = i * 120;
- self.tiles[i][j] = tile;
- self.addChild(tile);
- }
- }
- };
- self.setWord = function (word) {
- for (var i = 0; i < word.length; i++) {
- var row = Math.floor(i / self.tiles[0].length);
- var col = i % self.tiles[0].length;
- self.tiles[row][col].setLetter(word[i]);
- }
- };
+ var self = Container.call(this);
+ self.tiles = [];
+ self.createBoard = function (rows, cols) {
+ for (var i = 0; i < rows; i++) {
+ self.tiles[i] = [];
+ for (var j = 0; j < cols; j++) {
+ var tile = new LetterTile();
+ tile.x = j * 120;
+ tile.y = i * 120;
+ self.tiles[i][j] = tile;
+ self.addChild(tile);
+ }
+ }
+ };
+ self.setWord = function (word) {
+ for (var i = 0; i < word.length; i++) {
+ var row = Math.floor(i / self.tiles[0].length);
+ var col = i % self.tiles[0].length;
+ self.tiles[row][col].setLetter(word[i]);
+ }
+ };
});
-/****
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000 //Init game with black background
+ backgroundColor: 0x000000 //Init game with black background
});
-/****
+/****
* Game Code
-****/
+****/
// Initialize the word puzzle board
var puzzleBoard = new WordPuzzleBoard();
puzzleBoard.createBoard(5, 5); // Create a 5x5 board
puzzleBoard.x = (2048 - 5 * 120) / 2; // Center the board horizontally
@@ -66,41 +66,45 @@
puzzleBoard.setWord("HELLO");
// Handle touch events to select tiles
var selectedTiles = [];
game.down = function (x, y, obj) {
- var localPos = game.toLocal(obj.global);
- for (var i = 0; i < puzzleBoard.tiles.length; i++) {
- for (var j = 0; j < puzzleBoard.tiles[i].length; j++) {
- var tile = puzzleBoard.tiles[i][j];
- if (tile.containsPoint(localPos)) {
- selectedTiles.push(tile);
- tile.alpha = 0.5; // Highlight selected tile
- }
- }
- }
+ var localPos = game.toLocal(obj.global);
+ for (var i = 0; i < puzzleBoard.tiles.length; i++) {
+ for (var j = 0; j < puzzleBoard.tiles[i].length; j++) {
+ var tile = puzzleBoard.tiles[i][j];
+ if (tile.getBounds().contains(localPos.x, localPos.y)) {
+ selectedTiles.push(tile);
+ tile.alpha = 0.5; // Highlight selected tile
+ }
+ }
+ }
};
game.up = function (x, y, obj) {
- // Check if selected tiles form a valid word
- var formedWord = selectedTiles.map(tile => tile.letter).join('');
- if (isValidWord(formedWord)) {
- LK.setScore(LK.getScore() + formedWord.length);
- }
- // Reset selected tiles
- selectedTiles.forEach(tile => tile.alpha = 1);
- selectedTiles = [];
+ // Check if selected tiles form a valid word
+ var formedWord = selectedTiles.map(function (tile) {
+ return tile.letter;
+ }).join('');
+ if (isValidWord(formedWord)) {
+ LK.setScore(LK.getScore() + formedWord.length);
+ }
+ // Reset selected tiles
+ selectedTiles.forEach(function (tile) {
+ return tile.alpha = 1;
+ });
+ selectedTiles = [];
};
// Function to check if a word is valid
function isValidWord(word) {
- // Placeholder for word validation logic
- return word === "HELLO";
+ // Placeholder for word validation logic
+ return word === "HELLO";
}
// Update score display
var scoreTxt = new Text2('0', {
- size: 150,
- fill: "#ffffff"
+ size: 150,
+ fill: "#ffffff"
});
scoreTxt.setText(LK.getScore());
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
game.update = function () {
- scoreTxt.setText(LK.getScore());
+ scoreTxt.setText(LK.getScore());
};
\ No newline at end of file