User prompt
Call place mines with 10
User prompt
Fix Bug: 'ReferenceError: Can't find variable: NumberTile' in this line: 'var number = new NumberTile(self.neighborMines);' Line Number: 20
User prompt
Fix Bug: 'TypeError: undefined is not an object (evaluating 'this.scale.y')' in this line: 'var cellY = Math.floor(pos.y / Cell.prototype.height);' Line Number: 124
User prompt
Fix Bug: 'TypeError: undefined is not an object (evaluating 'this.scale.x')' in this line: 'var cellX = Math.floor(pos.x / Cell.prototype.width);' Line Number: 123
User prompt
Progress the development of the game please
User prompt
You can’t change texture in LK please just hide exciting backgound and show another asset. Use a label to show the mine state
User prompt
Fix Bug: 'TypeError: cellGraphics.setTexture is not a function. (In 'cellGraphics.setTexture('number_' + self.neighborMines)', 'cellGraphics.setTexture' is undefined)' in this line: 'cellGraphics.setTexture('number_' + self.neighborMines);' Line Number: 17
User prompt
Fix Bug: 'ReferenceError: Can't find variable: cellGraphics' in this line: 'var cellX = Math.floor(pos.x / cellGraphics.width);' Line Number: 107
User prompt
Fix Bug: 'ReferenceError: Can't find variable: cellGraphics' in this line: 'cell.x = x * cellGraphics.width;' Line Number: 48
User prompt
Progress the development of the game please
User prompt
Progress the development of the game please
Initial prompt
Minesweeper
var Cell = Container.expand(function () { var self = Container.call(this); self.setPosition = function (x, y) { self.x = x * self.width; self.y = y * self.height; }; var cellGraphics = self.createAsset('cell', 'Cell Graphics', .5, .5); self.isMine = false; self.isRevealed = false; self.neighborMines = 0; self.reveal = function () { if (self.isRevealed) return; self.isRevealed = true; if (self.isMine) { cellGraphics.visible = false; var mine = new Mine(); self.addChild(mine); } else { cellGraphics.visible = false; var number = new NumberTile(self.neighborMines); self.addChild(number); } }; self.placeMine = function () { self.isMine = true; }; self.calculateNeighborMines = function (getNeighbor) { self.neighborMines = 0; var neighbors = getNeighbor(self.x, self.y); for (var i = 0; i < neighbors.length; i++) { if (neighbors[i].isMine) { self.neighborMines++; } } }; }); var Board = Container.expand(function () { var self = Container.call(this); self.onCellClicked = function (cellX, cellY) { var cell = self.cells[cellX][cellY]; if (!cell.isRevealed) { cell.reveal(); if (cell.isMine) { gameOver = true; self.revealAllMines(); LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } }; self.revealAllMines = function () { for (var x = 0; x < self.cells.length; x++) { for (var y = 0; y < self.cells[x].length; y++) { var cell = self.cells[x][y]; if (cell.isMine) { cell.reveal(); } } } }; var boardGraphics = self.createAsset('board', 'Board Graphics', .5, .5); self.cells = []; self.generateBoard = function (width, height) { for (var x = 0; x < width; x++) { self.cells[x] = []; for (var y = 0; y < height; y++) { var cell = new Cell(); self.addChild(cell); self.cells[x][y] = cell; cell.setPosition(x, y); } } }; self.revealCell = function (x, y) { if (x < 0 || x >= self.cells.length || y < 0 || y >= self.cells[x].length) return; var cell = self.cells[x][y]; if (!cell.isRevealed) { cell.reveal(); return cell.isMine; } }; self.placeMines = function (mineCount) { var placedMines = 0; while (placedMines < mineCount) { var x = Math.floor(Math.random() * self.cells.length); var y = Math.floor(Math.random() * self.cells[x].length); if (!self.cells[x][y].isMine) { self.cells[x][y].placeMine(); placedMines++; } } }; self.calculateAllNeighborMines = function () { var getNeighbor = function (x, y) { var neighbors = []; for (var dx = -1; dx <= 1; dx++) { for (var dy = -1; dy <= 1; dy++) { if (dx === 0 && dy === 0) continue; var nx = x + dx, ny = y + dy; if (nx >= 0 && nx < self.cells.length && ny >= 0 && ny < self.cells[nx].length) { neighbors.push(self.cells[nx][ny]); } } } return neighbors; }; for (var x = 0; x < self.cells.length; x++) { for (var y = 0; y < self.cells[x].length; y++) { self.cells[x][y].calculateNeighborMines(getNeighbor); } } }; }); var Game = Container.expand(function () { var self = Container.call(this); var board = self.addChild(new Board()); var gameOver = false; board.generateBoard(10, 10); board.placeMines(); board.calculateAllNeighborMines(); self.on('down', function (obj) { var pos = obj.event.getLocalPosition(board); var cellX = Math.floor(pos.x / Cell.prototype.width); var cellY = Math.floor(pos.y / Cell.prototype.height); board.onCellClicked(cellX, cellY); }); });
===================================================================
--- original.js
+++ change.js
@@ -12,16 +12,14 @@
if (self.isRevealed) return;
self.isRevealed = true;
if (self.isMine) {
cellGraphics.visible = false;
- var mineGraphics = self.createAsset('mine', 'Mine Graphics', .5, .5);
- mineGraphics.visible = true;
- self.addChild(mineGraphics);
+ var mine = new Mine();
+ self.addChild(mine);
} else {
cellGraphics.visible = false;
- var numberGraphics = self.createAsset('number_' + self.neighborMines, 'Number Texture', .5, .5);
- numberGraphics.visible = true;
- self.addChild(numberGraphics);
+ var number = new NumberTile(self.neighborMines);
+ self.addChild(number);
}
};
self.placeMine = function () {
self.isMine = true;
@@ -37,8 +35,20 @@
};
});
var Board = Container.expand(function () {
var self = Container.call(this);
+ self.onCellClicked = function (cellX, cellY) {
+ var cell = self.cells[cellX][cellY];
+ if (!cell.isRevealed) {
+ cell.reveal();
+ if (cell.isMine) {
+ gameOver = true;
+ self.revealAllMines();
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+ }
+ };
self.revealAllMines = function () {
for (var x = 0; x < self.cells.length; x++) {
for (var y = 0; y < self.cells[x].length; y++) {
var cell = self.cells[x][y];
@@ -108,17 +118,10 @@
board.generateBoard(10, 10);
board.placeMines();
board.calculateAllNeighborMines();
self.on('down', function (obj) {
- var pos = obj.event.getLocalPosition(self);
- var cell = new Cell();
- var cellX = Math.floor(pos.x / cell.width);
- var cellY = Math.floor(pos.y / cell.height);
- board.revealCell(cellX, cellY);
- if (board.cells[cellX][cellY].isMine) {
- gameOver = true;
- board.revealAllMines();
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- }
+ var pos = obj.event.getLocalPosition(board);
+ var cellX = Math.floor(pos.x / Cell.prototype.width);
+ var cellY = Math.floor(pos.y / Cell.prototype.height);
+ board.onCellClicked(cellX, cellY);
});
});
Sea mine. Minesweeper. Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Watery background. 10x10 Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Single white square. Round corners. Vector. Simple details. Flat shaded. No shadows. No outlines.