User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 45
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 45
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 45
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 45
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 45
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'thisObject.type = 'menu';' Line Number: 47
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'thisObject.type = 'menu';' Line Number: 47
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'thisObject.type = 'menu';' Line Number: 47
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'thisObject.type = 'menu';' Line Number: 47
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'thisObject.type = 'menu';' Line Number: 47
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'thisObject.type = 'menu';' Line Number: 47
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 46
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'type')' in or related to this line: 'self.type = 'menu';' Line Number: 46
Code edit (1 edits merged)
Please save this source code
User prompt
eğer tıkladığımız kare yeşilse ora emerald asseti ekle eğer kırmızıysa ora bomb asseti ekle
User prompt
yukarıdakı kırmızı ve yeşil mesajları kaldır
User prompt
bombaya tıkladığımızda ekrana kaybetme animasyonu ekle ekran karalsın ve erkana game over menüsü gelsin
User prompt
kaybetme ekranında Game Over yerine Kaybetdiniz! yazılsın
User prompt
Game Over yerine Kaybetdiniz! yazılsın
User prompt
emerald karesini açtığımızda ses gelsin ona uygun
User prompt
emerald karesine tıkladığımız zaman emeraldsound asseti eklensin
User prompt
bomba karesine tıklandığında bombsound asseti eklensin
User prompt
oyun bitdiğinde bombsound asseti eklensin
User prompt
oyun bitdiğinde bombsound asseti çalışmıyor onu düzelt
===================================================================
--- original.js
+++ change.js
@@ -3,49 +3,38 @@
****/
// Kliklenebilen kvadrat sinfi yarat
var ClickableSquare = Container.expand(function () {
var self = Container.call(this);
- var thisObject = Container.call(this); // Bu nöqtəni dəyişdim, self yerinə thisObject istifadə edilir
- thisObject.type = 'menu'; // Define 'type' property
- var squareGraphics = thisObject.attachAsset('player', {
+ // Kvadrat üçün görünüsh təyin edir
+ var squareGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
- thisObject.graphics = squareGraphics;
- thisObject.down = function (x, y, obj) {
- if (thisObject.type === 'bomb') {
- thisObject.graphics = thisObject.attachAsset('mine', {
- 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.tint = 0xff0000; // Qirmizi
console.log("Bomba partladi! Oyun bitdi.");
- endGame(false); // Oyun bitdi - məğlubiyyət
- } else if (thisObject.type === 'emerald') {
- thisObject.graphics = thisObject.attachAsset('emerald', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- console.log("Zumrud tapdınız!");
- incrementScore(); // Xalı artır
- checkWin(); // Qalibiyyəti yoxla
- } else if (thisObject.type === 'menu') {
- gridSize = thisObject.value; // Set grid size
- startGame(); // Start the game
+ 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
+ console.log("Zumrud tapdiniz!");
+ showMessage("Zumrud tapildi!", "#00ff00"); // Mesaj goster
+ incrementScore(); // Xali artir
+ checkWin(); // Qalibiyyet yoxlanisi
}
};
});
-// Menu item class
-var MenuItem = ClickableSquare.expand(function () {
- var self = ClickableSquare.call(this);
- self.type = 'menu';
- return self;
-});
/****
* Initialize Game
****/
/****
-* Oyun dəyişənləri
+* Oyun deyişenləri
****/
/****
* Oyun Tərtibatı
****/
@@ -55,118 +44,100 @@
/****
* Game Code
****/
-// Şəbəkəni qur
+// Mesaj gosterme funksiyasi
+// Shəbəkəni qur
+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 dəyişənləri
+* Oyun deyişenləri
****/
var grid = [];
-var gridSize = 5; // 5x5 şəbəkə
-var cellSpacing = 10; // Xanalar arası boşluq
+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 xalı
+var score = 0; // Oyunçunun xali
var totalEmeralds = emeraldCount;
/****
* Məntiqi Funksiyalar
****/
-// Minaları və zumrudları təsadüfi yerləşdir
+// Minalari və zumrudleri tesadufi yerleştir
function placeObjects() {
var availableCells = [];
- // Mövcud bütün xanalar üçün siyahı yaradırıq
+ // 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
});
}
}
- // Minaları təsadüfi yerləşdir
+ // 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 yerləşdir
+ grid[cellPos.x][cellPos.y].type = 'bomb'; // Mina yerleştir
}
- // Zumrudları təsadüfi yerləşdir
+ // 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 yerləşdir
+ grid[cellPos.x][cellPos.y].type = 'emerald'; // Zumrud yerleştir
}
}
-// Oyunçunun xalı artır
+// Oyunçunun xalini artir
function incrementScore() {
score++;
}
// Oyunu bitir
function endGame(win) {
if (win) {
- console.log("Təbriklər! Siz qalibsiniz!");
- showMessage("Təbriklər! Qalibsiniz!", 0x00FF00); // Qələbə mesajı
+ console.log("Tebrikler! Siz qalibsiniz!");
+ showMessage("Tebrikler! Qazandiniz!", "#00ff00");
} else {
- console.log("Bomba partladı! Oyun bitdi.");
- showMessage("Bomba partladı! Oyun bitdi!", 0xFF0000); // Məğlubiyyət mesajı
+ console.log("Bomba partladi! Oyun bitdi.");
+ showMessage("Oyunu Uduzdunuz!", "#ff0000");
}
- // Ekranda bir flash effekti əlavə et
- LK.effects.flashScreen(0x000000, 1000);
- // Oyunu bitir və sona qədər ekranı göstər
- LK.showGameOver();
+ // Restart üçün əlavə məntiq yazabilirsiniz
}
-// Qalibiyyəti yoxla
+// Qalibiyyeti yoxla
function checkWin() {
if (score === totalEmeralds) {
endGame(true);
}
}
-// Oyun başladı
-function startGame() {
- grid = []; // Clear the grid array before starting the game
- // Şəbəkəni qur
- 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;
- }
+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;
}
- // Obyektləri yerləşdir
- placeObjects();
}
-// Ekranda mesaj göstərmək üçün əlavə funksiya
-function showMessage(message, color) {
- var msg = new LK.Text({
- text: message,
- color: color,
- fontSize: 40,
- textAlign: 'center',
- anchorX: 0.5,
- anchorY: 0.5
- });
- msg.x = 2048 / 2;
- msg.y = 2732 / 2;
- game.addChild(msg);
- // Mesajı 3 saniyə sonra sil
- setTimeout(function () {
- game.removeChild(msg);
- }, 3000);
-}
-// Menyu yaradılması (oyun başlamazdan əvvəl)
-var menuItems = [3, 4, 5];
-for (var i = 0; i < menuItems.length; i++) {
- var menuItem = new MenuItem();
- menuItem.value = menuItems[i];
- menuItem.x = 2048 / 2;
- menuItem.y = 2732 / menuItems.length * i + cellSize / 2;
- menuItem.width = cellSize;
- menuItem.height = cellSize;
- game.addChild(menuItem);
-}
\ No newline at end of file
+// Obyektleri yerleştir
+placeObjects();
\ No newline at end of file