TutorialsA* Search

Appendix E — Troubleshooting

Every chapter’s If it didn’t work names the slips most likely in that chapter, and how to find each one. Here they are together, chapter by chapter.

Two checks find most of them. First, names must match exactly: a message, a timer or a table row is matched letter for letter, capitals included. Second, compare with the chapter’s game. Every chapter’s Goal holds the game as it is at the end of that chapter, and its catch-up download is that chapter’s finished project. Play it next to yours.

E.1 Chapter 1: Slide the Tiles

The window is plain blue, with no worktable? Look in Puzzle Table for the Observatory Background’s placement, at 500 and -425, and at its Sprite’s picture, Observatory Worktable.

A Tile shows 0? Its placement’s Number is still 0. Select it, and type its number under Values, in its Data Structure part.

A 0 in the Goal’s dark empty cell, or under the Goal? Some Text still holds the editor’s 0. Look at Goal Slot’s label, whose Value box should be clear, and at $statusLine, whose Default box should be clear.

All nine Goal Cells are the same color, with no numbers? That means Show Goal Tile never ran. Is it attached to the Goal Cell? If it is, open it and look for a block standing apart from the line, with no arrow into it. Right-click it and choose Connect to sequence to join it.

The Goal Cells pile up in one spot, or show their numbers in the wrong places? Open Slot Position and look for a block standing apart. Join it with Connect to sequence. After that, look at each placement’s Slot, 0 to 8. Last, step 2 of Show Goal Tile should have its Position Relative to on Screen.

Clicking a Tile does nothing at all? Follow the chain from the click, one link at a time, starting at the Tile. Does it still have its UI Interaction? Without it, a click never reaches the Tile at all, so that’s the first link. Is Click To Choose on it? Is Puzzle Rules in the Scene, with Hand Moves on it? Logic only runs on an Object the Scene has placed, so Puzzle Rules has to be there. Is Ready the Starting Mode of On Tile Chosen? And is tileChosen spelled the same, letter for letter, in Choose Tile and in Hand Moves?

A Tile moves once, and then nothing moves again? Perhaps slideFinished never arrived, so Hand Moves is still in While Sliding. Look at On the Slide Timer, the last Event of Slide To Slot, whose timer name is slide, the same as the Timer Name in Start Recurring Timer. Its last step sends slideFinished to @self.puzzleRules. Does the Tile’s puzzleRules, under Variables, say Puzzle Rules? After that, look at On Slide Finished in Hand Moves, which switches back to Ready.

No Tween in the Action List? Advanced Mode is off. Turn it on from the Settings menu, and the Timeline’s Actions appear, Tween and Control Tween among them.

A Tile slides to the wrong Slot? Look at Slot Position, where the fourth step adds, with +=, and the sixth takes away, with -=.

A Tile that isn’t beside the Blank moves anyway? Look at step 4 of Hand Moves, whose If reads apart.value == 1.

Solved never appears? Look for Check Goal on Puzzle Rules, and at the Status Line’s Text, {$statusLine}. After that, look at the solved row of Messages. Its words are Solved.

Clicks work, but the keys don’t? Look at each Command’s key under Keybindings, and for Tile Keys on Puzzle Rules.

E.3 Chapter 3: Trace and Replay the Route

The card still says Goal found? Look at On Goal Accepted, where step 2’s Value should read the building row, and step 3 should switch to Building Route, not Finished.

Building route... never changes to Solving...? The trail never reaches -1. Look at step 2 of Building Route, the If, where copied.value == (-1). Then look at Copy Route Record’s Return, step 5, whose Value reads the ‘parentState’ column, quote marks and all.

Solving... appears, but no Tile moves when you press Step? Perhaps the record isn’t where Playing Route looks for it, in the row after the Moves played so far. Open Solution Route while the game runs. If it has no rows, look at Copy Route Record’s step 3, Control Data Row, and its Row, text(moveNumber). If the rows are there, look at Playing Route’s step 1 and its row, text(self.runSearchData.movesPlayed + 1).

The Tiles slide, but the wrong ones? Look at Tile For Move. Its Slot Of Tile looks in nextBoard for Tile 0, and its Tile In Slot looks in board.

One Tile slides, and then nothing moves? Perhaps movesPlayed never grows, so Playing Route reads the same record again. Look at step 2 of On Board Changed. It should add 1 to self.runSearchData.movesPlayed, with +=.

A Route Move starts the search over, so the count drops to 0 after one slide? Run Search didn’t know the Move was its own. Look at On Board Changed, step 1, $boardState == self.runSearchData.routeNextBoard, and at Playing Route’s step 1, which sets routeNextBoard.

A box the editor marks as an error? Count its quote marks and its brackets, because one may be missing.

E.4 Chapter 4: Solve and Pause

Step does nothing at all? Perhaps Solve Timer isn’t on Puzzle Rules yet, or On Step Due’s Starting Mode isn’t No Tile Sliding. Look at its one Action too, which sends takeStep, spelled the same as Run Search’s Event.

One press of Step adds 2 to the count? Perhaps Run Search still has an On Step Pressed Event beside On Take Step, so both answer. Change Event turns the old Event into the new one, and keeps its Actions. Delete the extra Event.

Solve does nothing, and the button never says Pause? Look at the gold button’s placement first, where message should be solvePressed, and then at On Solve Pressed, which should start in Paused.

Solve searches, but no Tile ever slides? On Step Due may have switched to Tile Sliding and never come back. Look at On Slide Finished, which switches On Step Due to No Tile Sliding.

The button shows no word, or the wrong one? Its Text should be {$solveButtonWords}, braces and all, and When the Scene Starts sets that Global to the solveButton row’s words.

The card says Paused while Solve runs? Look at On Solve Pressed’s step 4, which reads ‘words’, and On Pause Solve’s step 4, which reads ‘pausedWords’. The two look alike, so they swap without a sound.

The words are gone where they should be? Show Status Row’s row has to match a row of Messages, letter for letter, such as searching or tryNew.

E.5 Chapter 5: New Puzzles and Two Estimates

New puzzle does nothing? Look at the button’s message, newPressed, and at New Puzzle on Puzzle Rules. Last, look at On New Pressed’s step 4. It’s a Trigger Custom Event, which rings for every Object, not the kind with on Object.

Some Tiles jump and some don’t? Perhaps Slide To Slot’s On Board Jumped asks about the wrong Tile, so look at its step 3, Slot Of Tile, whose tile should read self.numberedTile.number.

After a jump, clicks on the Tiles do nothing? Hand Moves may be stuck in While Sliding. Look at its On Board Jumped, which switches On Tile Chosen to Ready.

The count doesn’t go back to 0 after New puzzle, Reset or E? Look at Run Search’s On Board Jumped and On Estimate Changed, and at each one’s Custom Event. It should be cancelSearch, spelled the same as the On Cancel Search Event.

The Estimate button reads Estimate: and nothing after it? Look at $estimate’s Default, which should be Manhattan with no quote marks, and at the button’s Text, Estimate: {$estimate}, braces and all.

The button’s words change, but the count is 20 both ways? Look at Estimate Moves Left’s step 4, whose Value reads ‘countsSlotsAway’. The row names in Estimates, and the words in its next column, have to match letter for letter.

Misplaced Tiles doesn’t stop at 84? Perhaps step 11 lost its second test, tileMoves > 0, and without it a Tile already home counts 1 too.

The line under the buttons stays empty? Its Text should be {$messageLine}. After that, look at Run Search’s When the Scene Starts, and the explanation column, spelled the same in Messages and on every Value that reads it.