Mosaic: Exercices
The exercises are to train you in programming asm and thinking about how to implement something. There are three levels of exercises:
Beginner exercises
Exercise 1
Add another color scheme, including a menu option and color set.
Exercise 2
Let the program start with the standard image instead of the numbered tiles.
Exercise 3
Make another difficulty level (menu item and internal functions
Intermediate Exercises
Exercise 1
Make another 'Puzzle solved' message if the puzzle is solved in reverse order (i.e. not 1,2,3,...16 but 16,15,14...1)
Exercise 2
Replace the code that displays x move(s) in the statusbar with code that displays 1 move for the first move, and x moves for the next moves.
Exercise 3
If you want to get frustrated by playing the game, let the program swap two random tiles each minute ;->. Makes the game almost undoable, but it's a good exercise.
Advanced exercises
Exercise 1
Change the program so that it will not count a move that undoes the last move. So if the user moves a tile, the number of moves is incremented, but when it shifts back that tile again, the number of moves is decremented.
Exercise 2
Make a time limit or movecount limit to the game. If the user has played for say 5 minutes or made 500 moves, he has lost.
Exercise 3
Change the program so that it will not allow to change the image type as soon as you've started playing (i.e. when the clock starts ticking).