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).