Code edit (10 edits merged)
Please save this source code
User prompt
in isPointInsideTile, decompose overlapOffset into overlapOffsetX and overlapOffsetY
Code edit (4 edits merged)
Please save this source code
User prompt
in PuzzleManager reset(), remove all existing tiles and operations before loading level
Code edit (1 edits merged)
Please save this source code
User prompt
add an enable function in resetButton class
User prompt
add a disable function in resetButton class
User prompt
when resetButton pressed, reset the level puzzle
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'visible')' in or related to this line: 'resetButton.visible = true; // Make resetButton visible in PLAYING state' Line Number: 490
Code edit (1 edits merged)
Please save this source code
User prompt
add the reset button : - declare resetButton global - initialize it in initializeGame function, on top right, keep it non visible - make it visible in initPlayingState
Code edit (2 edits merged)
Please save this source code
User prompt
add a new class for resetButton
Code edit (1 edits merged)
Please save this source code
User prompt
in checkWinCondition, if no more tiles go to next level and change state to newRound
Code edit (1 edits merged)
Please save this source code
User prompt
in checkWinCondition log activeTileCount
Code edit (5 edits merged)
Please save this source code
User prompt
in puzzle Manager, add a property that counts active tiles (with value > 0)
Code edit (1 edits merged)
Please save this source code
User prompt
normalizedDistance should be an integer counting the distance in tiles
User prompt
Please fix the bug: 'Uncaught ReferenceError: currentDepth is not defined' in or related to this line: '_iterator.f();' Line Number: 329
User prompt
Please fix the bug: 'Uncaught ReferenceError: normalizedDistance is not defined' in or related to this line: 'LK.setTimeout(function () {' Line Number: 94
User prompt
Please fix the bug: 'Uncaught ReferenceError: normalizedDistance is not defined' in or related to this line: 'LK.setTimeout(function () {' Line Number: 94
===================================================================
--- original.js
+++ change.js
@@ -85,8 +85,13 @@
self.setValue = function (newValue, depth) {
LK.setTimeout(function () {
// Enclose operation in a timeout
log("setValue to ", newValue, depth);
+ if (self.value > 0 && newValue === 0) {
+ puzzleManager.activeTileCount--; // Decrement active tile count
+ } else if (self.value === 0 && newValue > 0) {
+ puzzleManager.activeTileCount++; // Increment active tile count
+ }
self.value = newValue;
if (self.value === 0) {
self.valueTextShadow.setText("");
self.valueText.setText("");
@@ -197,8 +202,9 @@
function PuzzleManager(game) {
var self = this;
// Properties
self.game = game;
+ self.activeTileCount = 0; // Initialize active tile count
self.levelBoardOffsetX = 0; // Initialize levelBoardOffsetX
self.levelBoardOffsetY = 0; // Initialize levelBoardOffsetY
self.currentLevel = 1;
self.board = [];
@@ -225,8 +231,9 @@
self.createOperations();
};
self.createBoard = function () {
self.board = [];
+ self.activeTileCount = 0; // Reset active tile count
// Update levelBoardOffsets depending on level
self.levelBoardOffsetX = 300;
self.levelBoardOffsetY = 150;
for (var row = 0; row < self.levelData.tiles.length; row++) {
@@ -235,8 +242,9 @@
if (value !== "") {
var tile = new HexTile(value, col, row, self.levelData, self.levelBoardOffsetX, self.levelBoardOffsetY);
self.board.push(tile);
boardContainer.addChild(tile);
+ self.activeTileCount++; // Increment active tile count
}
}
}
};
@@ -322,8 +330,9 @@
}
log("Finished propagateOperation");
};
self.checkWinCondition = function () {
+ log("checkWinCondition...");
var _iterator2 = _createForOfIteratorHelper(self.board),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -341,8 +350,9 @@
return true;
};
// Animation Functions
self.playVictoryAnimation = function () {
+ log("playVictoryAnimation...");
// Play level complete animation
};
}
/***********************************************************************************************/
tick
Sound effect
tileEntrance
Sound effect
tileRemove
Sound effect
operationSelect
Sound effect
operationCancel
Sound effect
tileChangeValue
Sound effect
resetSound
Sound effect
levelFailed
Sound effect
menuLevelSelect
Sound effect
menuCellEnter
Sound effect
applause
Sound effect
bgMusic
Music
tada
Sound effect