User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 51
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 51
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 51
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 51
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 51
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 51
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 51
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 50
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 49
User prompt
oyuna böyle menü ekleyelim : oyun başlamadan önce oyuncu kare sayını seçe bilsin mesela: 3x3,4x4,5x5
User prompt
yukarıda çıkan mesajları sil
User prompt
kareye tıklandıkdan sonra eğer emereld karesiyse o karenin arka planına emerald asseti koy eğer bomba karesiyse o karenin arkasına bomb asseti koy
User prompt
Please fix the bug: 'Uncaught TypeError: LK.effects.fadeScreen is not a function' in or related to this line: 'LK.effects.fadeScreen(0x000000, 1000);' Line Number: 128
User prompt
oyun bitdiğinde kaybetme animasyonu ekle mesela ekran biraz karalsın
User prompt
oyun bitdiyi zaman ekranda game over menusu çıksın
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught TypeError: setTimeout is not a function' in or related to this line: 'setTimeout(function () {' Line Number: 69
User prompt
Please fix the bug: 'Uncaught TypeError: Text is not a constructor' in or related to this line: 'var messageBox = new Text(message, {' Line Number: 56
User prompt
Please fix the bug: 'Uncaught TypeError: self.graphics.setColor is not a function' in or related to this line: 'self.graphics.setColor(0x00ff00); // Yaşıl' Line Number: 28
User prompt
Please fix the bug: 'Uncaught TypeError: self.graphics.setColor is not a function' in or related to this line: 'self.graphics.setColor(0xff0000); // Qırmızı' Line Number: 22
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught TypeError: self.graphics.setColor is not a function' in or related to this line: 'self.graphics.setColor(0xff0000); // Qırmızı' Line Number: 22
User prompt
Please fix the bug: 'Uncaught TypeError: self.graphics.setColor is not a function' in or related to this line: 'self.graphics.setColor(0x00ff00); // Yaşıl' Line Number: 27
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught TypeError: self.graphics.setColor is not a function' in or related to this line: 'self.graphics.setColor(0xff0000); // Qırmızıya dəyiş' Line Number: 22
/****
* Classes
****/
// Kliklenebilen kvadrat sinfi yarat
var ClickableSquare = Container.expand(function () {
var self = Container.call(this);
// Kvadrat üçün görünüsh təyin edir
var squareGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.graphics = squareGraphics;
// Kliklenən zaman davranış
self.down = function (x, y, obj) {
if (self.type === 'bomb') {
// Bombaya kliklenib
self.graphics = self.attachAsset('mine', {
anchorX: 0.5,
anchorY: 0.5
});
console.log("Bomba partladi! Oyun bitdi.");
showMessage("Bombaya toxundun! Oyun bitdi!", "#ff0000"); // Mesaj goster
endGame(false); // Oyun bitdi - meglubiyyet
} else if (self.type === 'emerald') {
// Zumrudde kliklenib
self.graphics = self.attachAsset('emerald', {
anchorX: 0.5,
anchorY: 0.5
});
console.log("Zumrud tapdiniz!");
showMessage("Zumrud tapildi!", "#00ff00"); // Mesaj goster
incrementScore(); // Xali artir
checkWin(); // Qalibiyyet yoxlanisi
}
};
});
/****
* Initialize Game
****/
/****
* Oyun deyişenləri
****/
/****
* Oyun Tərtibatı
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
// Shəbəkəni qur
// Mesaj gosterme funksiyasi
var showMessage = function showMessage(message, color) {
var messageBox = new Text2(message, {
size: 64,
fill: color || "#ffffff",
align: "center",
wordWrap: true,
wordWrapWidth: 500
});
messageBox.x = 1024; // X koordinat (merkəzdə olsun)
messageBox.y = 100; // Y koordinat yuxari mərkəzdə
messageBox.anchorX = 0.5;
messageBox.anchorY = 0.5;
game.addChild(messageBox);
// Mesajın dərhal silinməsi üçün kiçik gecikmə
LK.setTimeout(function () {
return game.removeChild(messageBox);
}, 2000); // 2 saniyədən sonra mesajın silinməsi
};
/****
* Oyun deyişenləri
****/
var grid = [];
var gridSize = 5; // 5x5 shebeke
var cellSpacing = 10; // Xanalar arasi boshluq
var cellSize = (Math.min(2048, 2732) - (gridSize - 1) * cellSpacing) / gridSize;
var gridStartX = (2048 - gridSize * cellSize - (gridSize - 1) * cellSpacing) / 2;
var gridStartY = (2732 - gridSize * cellSize - (gridSize - 1) * cellSpacing) / 2;
var bombCount = 2; // 2 mina
var emeraldCount = 23; // 23 zumrud
var score = 0; // Oyunçunun xali
var totalEmeralds = emeraldCount;
/****
* Məntiqi Funksiyalar
****/
// Minalari və zumrudleri tesadufi yerleştir
function placeObjects() {
var availableCells = [];
// Movcud butun xanalardan siyahi yaradırıq
for (var i = 0; i < gridSize; i++) {
for (var j = 0; j < gridSize; j++) {
availableCells.push({
x: i,
y: j
});
}
}
// Minalari tesadufi yerleştir
for (var b = 0; b < bombCount; b++) {
var randomIndex = Math.floor(Math.random() * availableCells.length);
var cellPos = availableCells.splice(randomIndex, 1)[0];
grid[cellPos.x][cellPos.y].type = 'bomb'; // Mina yerleştir
}
// Zumrudleri tesadufi yerleştir
for (var e = 0; e < emeraldCount; e++) {
var randomIndex = Math.floor(Math.random() * availableCells.length);
var cellPos = availableCells.splice(randomIndex, 1)[0];
grid[cellPos.x][cellPos.y].type = 'emerald'; // Zumrud yerleştir
}
}
// Oyunçunun xalini artir
function incrementScore() {
score++;
}
// Oyunu bitir
function endGame(win) {
if (win) {
console.log("Tebrikler! Siz qalibsiniz!");
showMessage("Tebrikler! Qazandiniz!", "#00ff00");
} else {
console.log("Bomba partladi! Oyun bitdi.");
showMessage("Oyunu Uduzdunuz!", "#ff0000");
}
// Add a screen flash effect when the game ends
LK.effects.flashScreen(0x000000, 1000);
// Show game over menu
LK.showGameOver();
}
// Qalibiyyeti yoxla
function checkWin() {
if (score === totalEmeralds) {
endGame(true);
}
}
for (var i = 0; i < gridSize; i++) {
grid[i] = [];
for (var j = 0; j < gridSize; j++) {
var cell = new ClickableSquare();
cell.x = gridStartX + j * (cellSize + cellSpacing) + cellSize / 2;
cell.y = gridStartY + i * (cellSize + cellSpacing) + cellSize / 2;
cell.width = cellSize;
cell.height = cellSize;
game.addChild(cell);
grid[i][j] = cell;
}
}
// Obyektleri yerleştir
placeObjects(); ===================================================================
--- original.js
+++ change.js
@@ -13,15 +13,21 @@
// Kliklenən zaman davranış
self.down = function (x, y, obj) {
if (self.type === 'bomb') {
// Bombaya kliklenib
- self.graphics.tint = 0xff0000; // Qirmizi
+ self.graphics = self.attachAsset('mine', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
console.log("Bomba partladi! Oyun bitdi.");
showMessage("Bombaya toxundun! Oyun bitdi!", "#ff0000"); // Mesaj goster
endGame(false); // Oyun bitdi - meglubiyyet
} else if (self.type === 'emerald') {
// Zumrudde kliklenib
- self.graphics.tint = 0x00ff00; // Yashil
+ self.graphics = self.attachAsset('emerald', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
console.log("Zumrud tapdiniz!");
showMessage("Zumrud tapildi!", "#00ff00"); // Mesaj goster
incrementScore(); // Xali artir
checkWin(); // Qalibiyyet yoxlanisi