User prompt
Ekranı aşağıya doğru indirelim ve büyütelim
User prompt
Daha fazla belirginleşir daha fazla görünsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Oyuna bir gem daha ekleyelim bomba görüntüsü oluşsun ve bu bomba görüntüsü ancak 5 gem birleştiği zaman çıksın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Gemlerin renk tonunu açık yap ve matlaştır ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Please fix the bug: 'Timeout.tick error: bounceGem is not a function' in or related to this line: 'bounceGem(bounceGem);' Line Number: 413 ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Daha fazla efetk olsun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Gemlerin renklerini hafif solgun yap ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Genler yok olduklarında bir patlama efekti ekle partikül olsun ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Eğer eşleştirme olduysa kaybolan gemleri yukarindan aşağıya düşür ve yenilerini getir ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Daha büyük hale getir
User prompt
Oyun alanını ve icersindeki gemleri ekrana tamamen doldur
User prompt
Yer değiştirmeyi birer kare olarak yap eğer birbirinle eşleşmiyorsa geri dönsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Yer değiştirmesini kaydırma yap ↪💡 Consider importing and using the following plugins: @upit/tween.v1
Code edit (1 edits merged)
Please save this source code
User prompt
Gem Swap Adventure
Initial prompt
Candy crush ve jewel ancient benzeri
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var Gem = Container.expand(function (gemType, gridX, gridY) { var self = Container.call(this); self.gemType = gemType; self.gridX = gridX; self.gridY = gridY; self.isAnimating = false; var gemAssets = ['gemRed', 'gemBlue', 'gemGreen', 'gemYellow', 'gemPurple', 'gemOrange']; var gemGraphics = self.attachAsset(gemAssets[gemType], { anchorX: 0.5, anchorY: 0.5 }); self.setGridPosition = function (x, y) { self.gridX = x; self.gridY = y; }; self.animateToPosition = function (targetX, targetY, duration, onComplete) { if (!duration) duration = 200; self.isAnimating = true; tween(self, { x: targetX, y: targetY }, { duration: duration, easing: tween.easeOut, onFinish: function onFinish() { self.isAnimating = false; if (onComplete) onComplete(); } }); }; self.destroy = function () { if (self.parent) { self.parent.removeChild(self); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x2C1810 }); /**** * Game Code ****/ var GRID_SIZE = 8; var CELL_SIZE = 90; var BOARD_OFFSET_X = (2048 - GRID_SIZE * CELL_SIZE) / 2; var BOARD_OFFSET_Y = 400; var gameBoard = []; var selectedGem = null; var isSwapping = false; var score = 0; var comboMultiplier = 1; // Create board background var boardBg = game.attachAsset('boardBg', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: BOARD_OFFSET_Y + GRID_SIZE * CELL_SIZE / 2 }); // Create score display var scoreTxt = new Text2('Score: 0', { size: 60, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); scoreTxt.y = 100; // Initialize empty board function initializeBoard() { gameBoard = []; for (var x = 0; x < GRID_SIZE; x++) { gameBoard[x] = []; for (var y = 0; y < GRID_SIZE; y++) { gameBoard[x][y] = null; } } } // Fill board with random gems function fillBoard() { for (var x = 0; x < GRID_SIZE; x++) { for (var y = 0; y < GRID_SIZE; y++) { if (!gameBoard[x][y]) { var gemType = Math.floor(Math.random() * 6); var gem = new Gem(gemType, x, y); var worldPos = gridToWorld(x, y); gem.x = worldPos.x; gem.y = worldPos.y; gameBoard[x][y] = gem; game.addChild(gem); } } } } // Convert grid coordinates to world coordinates function gridToWorld(gridX, gridY) { return { x: BOARD_OFFSET_X + gridX * CELL_SIZE + CELL_SIZE / 2, y: BOARD_OFFSET_Y + gridY * CELL_SIZE + CELL_SIZE / 2 }; } // Convert world coordinates to grid coordinates function worldToGrid(worldX, worldY) { var gridX = Math.floor((worldX - BOARD_OFFSET_X) / CELL_SIZE); var gridY = Math.floor((worldY - BOARD_OFFSET_Y) / CELL_SIZE); if (gridX < 0 || gridX >= GRID_SIZE || gridY < 0 || gridY >= GRID_SIZE) { return null; } return { x: gridX, y: gridY }; } // Check if two grid positions are adjacent function areAdjacent(pos1, pos2) { var dx = Math.abs(pos1.x - pos2.x); var dy = Math.abs(pos1.y - pos2.y); return dx === 1 && dy === 0 || dx === 0 && dy === 1; } // Check for matches starting at position function checkMatches(startX, startY) { var gem = gameBoard[startX][startY]; if (!gem) return []; var matches = []; var gemType = gem.gemType; // Check horizontal matches var horizontalMatches = [gem]; // Check left for (var x = startX - 1; x >= 0; x--) { if (gameBoard[x][startY] && gameBoard[x][startY].gemType === gemType) { horizontalMatches.unshift(gameBoard[x][startY]); } else { break; } } // Check right for (var x = startX + 1; x < GRID_SIZE; x++) { if (gameBoard[x][startY] && gameBoard[x][startY].gemType === gemType) { horizontalMatches.push(gameBoard[x][startY]); } else { break; } } if (horizontalMatches.length >= 3) { matches = matches.concat(horizontalMatches); } // Check vertical matches var verticalMatches = [gem]; // Check up for (var y = startY - 1; y >= 0; y--) { if (gameBoard[startX][y] && gameBoard[startX][y].gemType === gemType) { verticalMatches.unshift(gameBoard[startX][y]); } else { break; } } // Check down for (var y = startY + 1; y < GRID_SIZE; y++) { if (gameBoard[startX][y] && gameBoard[startX][y].gemType === gemType) { verticalMatches.push(gameBoard[startX][y]); } else { break; } } if (verticalMatches.length >= 3) { matches = matches.concat(verticalMatches); } // Remove duplicates var uniqueMatches = []; for (var i = 0; i < matches.length; i++) { var found = false; for (var j = 0; j < uniqueMatches.length; j++) { if (matches[i] === uniqueMatches[j]) { found = true; break; } } if (!found) { uniqueMatches.push(matches[i]); } } return uniqueMatches; } // Find all matches on the board function findAllMatches() { var allMatches = []; var processedGems = []; for (var x = 0; x < GRID_SIZE; x++) { for (var y = 0; y < GRID_SIZE; y++) { if (gameBoard[x][y]) { var matches = checkMatches(x, y); for (var i = 0; i < matches.length; i++) { var gem = matches[i]; var found = false; for (var j = 0; j < processedGems.length; j++) { if (processedGems[j] === gem) { found = true; break; } } if (!found) { allMatches.push(gem); processedGems.push(gem); } } } } } return allMatches; } // Clear matched gems function clearMatches(matches) { if (matches.length === 0) return; LK.getSound('match').play(); var points = matches.length * 10 * comboMultiplier; score += points; scoreTxt.setText('Score: ' + score); for (var i = 0; i < matches.length; i++) { var gem = matches[i]; gameBoard[gem.gridX][gem.gridY] = null; gem.destroy(); } } // Apply gravity to make gems fall function applyGravity() { var moved = false; for (var x = 0; x < GRID_SIZE; x++) { for (var y = GRID_SIZE - 1; y >= 0; y--) { if (!gameBoard[x][y]) { // Find gem above to fall down for (var searchY = y - 1; searchY >= 0; searchY--) { if (gameBoard[x][searchY]) { var gem = gameBoard[x][searchY]; gameBoard[x][y] = gem; gameBoard[x][searchY] = null; gem.setGridPosition(x, y); var worldPos = gridToWorld(x, y); gem.animateToPosition(worldPos.x, worldPos.y, 300); moved = true; break; } } } } } return moved; } // Fill empty spaces with new gems function fillEmptySpaces() { for (var x = 0; x < GRID_SIZE; x++) { for (var y = 0; y < GRID_SIZE; y++) { if (!gameBoard[x][y]) { var gemType = Math.floor(Math.random() * 6); var gem = new Gem(gemType, x, y); var worldPos = gridToWorld(x, y); gem.x = worldPos.x; gem.y = worldPos.y - GRID_SIZE * CELL_SIZE; gameBoard[x][y] = gem; game.addChild(gem); gem.animateToPosition(worldPos.x, worldPos.y, 400); } } } } // Process cascading matches function processCascade() { LK.setTimeout(function () { var matches = findAllMatches(); if (matches.length > 0) { comboMultiplier++; clearMatches(matches); LK.setTimeout(function () { var moved = applyGravity(); fillEmptySpaces(); if (moved || matches.length > 0) { processCascade(); } else { comboMultiplier = 1; isSwapping = false; } }, 400); } else { comboMultiplier = 1; isSwapping = false; } }, 200); } // Swap two gems function swapGems(gem1, gem2) { if (isSwapping) return; isSwapping = true; LK.getSound('swap').play(); var tempX = gem1.gridX; var tempY = gem1.gridY; gem1.setGridPosition(gem2.gridX, gem2.gridY); gem2.setGridPosition(tempX, tempY); gameBoard[gem1.gridX][gem1.gridY] = gem1; gameBoard[gem2.gridX][gem2.gridY] = gem2; var pos1 = gridToWorld(gem1.gridX, gem1.gridY); var pos2 = gridToWorld(gem2.gridX, gem2.gridY); gem1.animateToPosition(pos1.x, pos1.y, 200); gem2.animateToPosition(pos2.x, pos2.y, 200); LK.setTimeout(function () { var matches = findAllMatches(); if (matches.length > 0) { clearMatches(matches); processCascade(); } else { // Invalid move, swap back var tempX = gem1.gridX; var tempY = gem1.gridY; gem1.setGridPosition(gem2.gridX, gem2.gridY); gem2.setGridPosition(tempX, tempY); gameBoard[gem1.gridX][gem1.gridY] = gem1; gameBoard[gem2.gridX][gem2.gridY] = gem2; var pos1 = gridToWorld(gem1.gridX, gem1.gridY); var pos2 = gridToWorld(gem2.gridX, gem2.gridY); gem1.animateToPosition(pos1.x, pos1.y, 200); gem2.animateToPosition(pos2.x, pos2.y, 200); LK.setTimeout(function () { isSwapping = false; }, 200); } }, 200); } // Game input handling game.down = function (x, y, obj) { if (isSwapping) return; var gridPos = worldToGrid(x, y); if (!gridPos) return; var clickedGem = gameBoard[gridPos.x][gridPos.y]; if (!clickedGem) return; if (!selectedGem) { selectedGem = clickedGem; selectedGem.alpha = 0.7; } else if (selectedGem === clickedGem) { selectedGem.alpha = 1.0; selectedGem = null; } else if (areAdjacent({ x: selectedGem.gridX, y: selectedGem.gridY }, { x: clickedGem.gridX, y: clickedGem.gridY })) { selectedGem.alpha = 1.0; swapGems(selectedGem, clickedGem); selectedGem = null; } else { selectedGem.alpha = 1.0; selectedGem = clickedGem; selectedGem.alpha = 0.7; } }; // Initialize the game initializeBoard(); fillBoard(); // Initial match clearing LK.setTimeout(function () { var matches = findAllMatches(); if (matches.length > 0) { clearMatches(matches); processCascade(); } }, 100);
===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,377 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+var Gem = Container.expand(function (gemType, gridX, gridY) {
+ var self = Container.call(this);
+ self.gemType = gemType;
+ self.gridX = gridX;
+ self.gridY = gridY;
+ self.isAnimating = false;
+ var gemAssets = ['gemRed', 'gemBlue', 'gemGreen', 'gemYellow', 'gemPurple', 'gemOrange'];
+ var gemGraphics = self.attachAsset(gemAssets[gemType], {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.setGridPosition = function (x, y) {
+ self.gridX = x;
+ self.gridY = y;
+ };
+ self.animateToPosition = function (targetX, targetY, duration, onComplete) {
+ if (!duration) duration = 200;
+ self.isAnimating = true;
+ tween(self, {
+ x: targetX,
+ y: targetY
+ }, {
+ duration: duration,
+ easing: tween.easeOut,
+ onFinish: function onFinish() {
+ self.isAnimating = false;
+ if (onComplete) onComplete();
+ }
+ });
+ };
+ self.destroy = function () {
+ if (self.parent) {
+ self.parent.removeChild(self);
+ }
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x2C1810
+});
+
+/****
+* Game Code
+****/
+var GRID_SIZE = 8;
+var CELL_SIZE = 90;
+var BOARD_OFFSET_X = (2048 - GRID_SIZE * CELL_SIZE) / 2;
+var BOARD_OFFSET_Y = 400;
+var gameBoard = [];
+var selectedGem = null;
+var isSwapping = false;
+var score = 0;
+var comboMultiplier = 1;
+// Create board background
+var boardBg = game.attachAsset('boardBg', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 2048 / 2,
+ y: BOARD_OFFSET_Y + GRID_SIZE * CELL_SIZE / 2
+});
+// Create score display
+var scoreTxt = new Text2('Score: 0', {
+ size: 60,
+ fill: 0xFFFFFF
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+scoreTxt.y = 100;
+// Initialize empty board
+function initializeBoard() {
+ gameBoard = [];
+ for (var x = 0; x < GRID_SIZE; x++) {
+ gameBoard[x] = [];
+ for (var y = 0; y < GRID_SIZE; y++) {
+ gameBoard[x][y] = null;
+ }
+ }
+}
+// Fill board with random gems
+function fillBoard() {
+ for (var x = 0; x < GRID_SIZE; x++) {
+ for (var y = 0; y < GRID_SIZE; y++) {
+ if (!gameBoard[x][y]) {
+ var gemType = Math.floor(Math.random() * 6);
+ var gem = new Gem(gemType, x, y);
+ var worldPos = gridToWorld(x, y);
+ gem.x = worldPos.x;
+ gem.y = worldPos.y;
+ gameBoard[x][y] = gem;
+ game.addChild(gem);
+ }
+ }
+ }
+}
+// Convert grid coordinates to world coordinates
+function gridToWorld(gridX, gridY) {
+ return {
+ x: BOARD_OFFSET_X + gridX * CELL_SIZE + CELL_SIZE / 2,
+ y: BOARD_OFFSET_Y + gridY * CELL_SIZE + CELL_SIZE / 2
+ };
+}
+// Convert world coordinates to grid coordinates
+function worldToGrid(worldX, worldY) {
+ var gridX = Math.floor((worldX - BOARD_OFFSET_X) / CELL_SIZE);
+ var gridY = Math.floor((worldY - BOARD_OFFSET_Y) / CELL_SIZE);
+ if (gridX < 0 || gridX >= GRID_SIZE || gridY < 0 || gridY >= GRID_SIZE) {
+ return null;
+ }
+ return {
+ x: gridX,
+ y: gridY
+ };
+}
+// Check if two grid positions are adjacent
+function areAdjacent(pos1, pos2) {
+ var dx = Math.abs(pos1.x - pos2.x);
+ var dy = Math.abs(pos1.y - pos2.y);
+ return dx === 1 && dy === 0 || dx === 0 && dy === 1;
+}
+// Check for matches starting at position
+function checkMatches(startX, startY) {
+ var gem = gameBoard[startX][startY];
+ if (!gem) return [];
+ var matches = [];
+ var gemType = gem.gemType;
+ // Check horizontal matches
+ var horizontalMatches = [gem];
+ // Check left
+ for (var x = startX - 1; x >= 0; x--) {
+ if (gameBoard[x][startY] && gameBoard[x][startY].gemType === gemType) {
+ horizontalMatches.unshift(gameBoard[x][startY]);
+ } else {
+ break;
+ }
+ }
+ // Check right
+ for (var x = startX + 1; x < GRID_SIZE; x++) {
+ if (gameBoard[x][startY] && gameBoard[x][startY].gemType === gemType) {
+ horizontalMatches.push(gameBoard[x][startY]);
+ } else {
+ break;
+ }
+ }
+ if (horizontalMatches.length >= 3) {
+ matches = matches.concat(horizontalMatches);
+ }
+ // Check vertical matches
+ var verticalMatches = [gem];
+ // Check up
+ for (var y = startY - 1; y >= 0; y--) {
+ if (gameBoard[startX][y] && gameBoard[startX][y].gemType === gemType) {
+ verticalMatches.unshift(gameBoard[startX][y]);
+ } else {
+ break;
+ }
+ }
+ // Check down
+ for (var y = startY + 1; y < GRID_SIZE; y++) {
+ if (gameBoard[startX][y] && gameBoard[startX][y].gemType === gemType) {
+ verticalMatches.push(gameBoard[startX][y]);
+ } else {
+ break;
+ }
+ }
+ if (verticalMatches.length >= 3) {
+ matches = matches.concat(verticalMatches);
+ }
+ // Remove duplicates
+ var uniqueMatches = [];
+ for (var i = 0; i < matches.length; i++) {
+ var found = false;
+ for (var j = 0; j < uniqueMatches.length; j++) {
+ if (matches[i] === uniqueMatches[j]) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ uniqueMatches.push(matches[i]);
+ }
+ }
+ return uniqueMatches;
+}
+// Find all matches on the board
+function findAllMatches() {
+ var allMatches = [];
+ var processedGems = [];
+ for (var x = 0; x < GRID_SIZE; x++) {
+ for (var y = 0; y < GRID_SIZE; y++) {
+ if (gameBoard[x][y]) {
+ var matches = checkMatches(x, y);
+ for (var i = 0; i < matches.length; i++) {
+ var gem = matches[i];
+ var found = false;
+ for (var j = 0; j < processedGems.length; j++) {
+ if (processedGems[j] === gem) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ allMatches.push(gem);
+ processedGems.push(gem);
+ }
+ }
+ }
+ }
+ }
+ return allMatches;
+}
+// Clear matched gems
+function clearMatches(matches) {
+ if (matches.length === 0) return;
+ LK.getSound('match').play();
+ var points = matches.length * 10 * comboMultiplier;
+ score += points;
+ scoreTxt.setText('Score: ' + score);
+ for (var i = 0; i < matches.length; i++) {
+ var gem = matches[i];
+ gameBoard[gem.gridX][gem.gridY] = null;
+ gem.destroy();
+ }
+}
+// Apply gravity to make gems fall
+function applyGravity() {
+ var moved = false;
+ for (var x = 0; x < GRID_SIZE; x++) {
+ for (var y = GRID_SIZE - 1; y >= 0; y--) {
+ if (!gameBoard[x][y]) {
+ // Find gem above to fall down
+ for (var searchY = y - 1; searchY >= 0; searchY--) {
+ if (gameBoard[x][searchY]) {
+ var gem = gameBoard[x][searchY];
+ gameBoard[x][y] = gem;
+ gameBoard[x][searchY] = null;
+ gem.setGridPosition(x, y);
+ var worldPos = gridToWorld(x, y);
+ gem.animateToPosition(worldPos.x, worldPos.y, 300);
+ moved = true;
+ break;
+ }
+ }
+ }
+ }
+ }
+ return moved;
+}
+// Fill empty spaces with new gems
+function fillEmptySpaces() {
+ for (var x = 0; x < GRID_SIZE; x++) {
+ for (var y = 0; y < GRID_SIZE; y++) {
+ if (!gameBoard[x][y]) {
+ var gemType = Math.floor(Math.random() * 6);
+ var gem = new Gem(gemType, x, y);
+ var worldPos = gridToWorld(x, y);
+ gem.x = worldPos.x;
+ gem.y = worldPos.y - GRID_SIZE * CELL_SIZE;
+ gameBoard[x][y] = gem;
+ game.addChild(gem);
+ gem.animateToPosition(worldPos.x, worldPos.y, 400);
+ }
+ }
+ }
+}
+// Process cascading matches
+function processCascade() {
+ LK.setTimeout(function () {
+ var matches = findAllMatches();
+ if (matches.length > 0) {
+ comboMultiplier++;
+ clearMatches(matches);
+ LK.setTimeout(function () {
+ var moved = applyGravity();
+ fillEmptySpaces();
+ if (moved || matches.length > 0) {
+ processCascade();
+ } else {
+ comboMultiplier = 1;
+ isSwapping = false;
+ }
+ }, 400);
+ } else {
+ comboMultiplier = 1;
+ isSwapping = false;
+ }
+ }, 200);
+}
+// Swap two gems
+function swapGems(gem1, gem2) {
+ if (isSwapping) return;
+ isSwapping = true;
+ LK.getSound('swap').play();
+ var tempX = gem1.gridX;
+ var tempY = gem1.gridY;
+ gem1.setGridPosition(gem2.gridX, gem2.gridY);
+ gem2.setGridPosition(tempX, tempY);
+ gameBoard[gem1.gridX][gem1.gridY] = gem1;
+ gameBoard[gem2.gridX][gem2.gridY] = gem2;
+ var pos1 = gridToWorld(gem1.gridX, gem1.gridY);
+ var pos2 = gridToWorld(gem2.gridX, gem2.gridY);
+ gem1.animateToPosition(pos1.x, pos1.y, 200);
+ gem2.animateToPosition(pos2.x, pos2.y, 200);
+ LK.setTimeout(function () {
+ var matches = findAllMatches();
+ if (matches.length > 0) {
+ clearMatches(matches);
+ processCascade();
+ } else {
+ // Invalid move, swap back
+ var tempX = gem1.gridX;
+ var tempY = gem1.gridY;
+ gem1.setGridPosition(gem2.gridX, gem2.gridY);
+ gem2.setGridPosition(tempX, tempY);
+ gameBoard[gem1.gridX][gem1.gridY] = gem1;
+ gameBoard[gem2.gridX][gem2.gridY] = gem2;
+ var pos1 = gridToWorld(gem1.gridX, gem1.gridY);
+ var pos2 = gridToWorld(gem2.gridX, gem2.gridY);
+ gem1.animateToPosition(pos1.x, pos1.y, 200);
+ gem2.animateToPosition(pos2.x, pos2.y, 200);
+ LK.setTimeout(function () {
+ isSwapping = false;
+ }, 200);
+ }
+ }, 200);
+}
+// Game input handling
+game.down = function (x, y, obj) {
+ if (isSwapping) return;
+ var gridPos = worldToGrid(x, y);
+ if (!gridPos) return;
+ var clickedGem = gameBoard[gridPos.x][gridPos.y];
+ if (!clickedGem) return;
+ if (!selectedGem) {
+ selectedGem = clickedGem;
+ selectedGem.alpha = 0.7;
+ } else if (selectedGem === clickedGem) {
+ selectedGem.alpha = 1.0;
+ selectedGem = null;
+ } else if (areAdjacent({
+ x: selectedGem.gridX,
+ y: selectedGem.gridY
+ }, {
+ x: clickedGem.gridX,
+ y: clickedGem.gridY
+ })) {
+ selectedGem.alpha = 1.0;
+ swapGems(selectedGem, clickedGem);
+ selectedGem = null;
+ } else {
+ selectedGem.alpha = 1.0;
+ selectedGem = clickedGem;
+ selectedGem.alpha = 0.7;
+ }
+};
+// Initialize the game
+initializeBoard();
+fillBoard();
+// Initial match clearing
+LK.setTimeout(function () {
+ var matches = findAllMatches();
+ if (matches.length > 0) {
+ clearMatches(matches);
+ processCascade();
+ }
+}, 100);
\ No newline at end of file
Alev spiral parçacık. In-Game asset. 2d. High contrast. No shadows
Su damlası patlama parçacık. In-Game asset. 2d. High contrast. No shadows
Karadelik vortex parçacık spiral. In-Game asset. 2d. High contrast. No shadows
Yeşil yaprak süzülen. In-Game asset. 2d. High contrast. No shadows
Yıldız patlama parlak. In-Game asset. 2d. High contrast. No shadows
Lav topu erimiş. In-Game asset. 2d. High contrast. No shadows
Health bar, grandyan, green,. In-Game asset. 2d. High contrast. No shadows
Hiç birşeye dokunma sadece yeşil olan kısımları kırmızı ile yer değiştir
Bomba şeklinide grandyan ama çizgili rengarenk olsun