Dots & Boxes Version History

Version History

  • 1.6 - Fix a "force close" during a game against the computer when the user insists that the computer move immediately.
  • 1.5 - Prevent the app from being installed on the SD card, which, it turns out, would prevent it from functioning correctly.
  • 1.4 - Improved the logic for comparing phone numbers, so that an incoming text message can be correctly matched to the games in progress for that opponent.
  • 1.3 - React to a bug reported via the Market interface on the Pipe Layer application, since similar code exists in Dots & Boxes.  See the change in the version 1.2 of Pipe Layer for more information.
  • 1.2 - I fixed a few minor bugs related to sending data from one user's phone to another during a multiplayer game.  Certain large numbers weren't being encoded and decoded correctly.
  • 1.1 - I fixed another bug reported via the Market interface.  Thanks again; these reports are very helpful.  It's a StackOverflowError that presumably occurred when a user was playing against the computer on a really big board.  The search had reached a very deep level (at least depth 35) and then the program was examining a very-long chain (at least 64 boxes long).  To fix it I've placed a limit on the depth (no more than 20 levels deeper than the desired depth) and I tolerate a StackOverflowError while chasing chains, returning the length discovered so far.
  • 1.03 - I fixed a bug that was reported via the Android 2.2 Market interface (thanks!).  I presume it occurred when the activity to compose an invitation was displayed for so long that the Android infrastructure decided to end the process.  I think the user then switched back to the activity, which was recreated at the point where it left off.  But the existing code didn't properly initialize the database if the compose-an-invitation activity is the first to run, so a NullPointerException resulted.
  • 1.02 - I fixed a bug that would cause a "force close" in a new multi-player game when a user accepts an invitation to play and then quickly makes the first move.  I also improved the skill of the computer opponent on difficulties "Hard" and "Hardest".  Prior to this change, the computer was not thoroughly examining the moves it could make in a chain of length two, assuming that a move on the end of the chain was just as good as a move in the middle.  But a move on the end of the chain can be double-crossed by the opponent, whereas a move in the middle cannot be double-crossed.  Sometimes one is better than the other, so now the computer will examine them both.  On difficulty levels "Easy" and "Moderate" ("Moderate" is the default difficulty level), however, the computer still does an incomplete analysis, making it easier for the human player to win.
  • 1.01 - A quick update to fix a small bug that sometimes causes the computer to choose an invalid move on its first move if the board is empty.  Naturally it turned up immediately after publishing the 1.0 version, even though I've been testing the beta version for a week!
  • 1.0 - First published version.