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: '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
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
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: '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
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
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
/**** * 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.tint = 0xff0000; // Qirmizi 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 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 ****/ // 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 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"); } // Restart üçün əlavə məntiq yazabilirsiniz } // 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
@@ -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