Pocket Trilma.NET

Below are some observations I've made on Pocket PC vs WinForms programming.

The Pocket .NET Framework programming interface is a subset of .NET Framework interface. Thus, a project requires some minor changes to replace non-existing calls with existing ones. It is sometimes tricky, however System.Windows.Forms lacks few controls (for example GroupBox). Some controls lack properties and events.

GDI+ lacks some useful features:

  • There is no smoothing in Pocket PC.

  • There are no Pens, Brushes and other collections with static, ready-to-use GDI objects. These were to be recreated in my project.

  • There is no double-buffering. However, in Pocket Trilma.NET the board image is drawn onto the bitmap and the bitmap is drawn onto the form. This way double-buffering is emulated.

Threads cannot be stopped by Thread.Stop. They have to be stopped in other way. In Pocket Trilma.NET the worker thread is controlled by additional shared variable.

The game was successfully tested on Pocket PC 4.20.0 with Intel PXA263 processor.

Rules of the game:

Each game is played by 6 players: a human player and 5 computer players.
Each player has ten checkers, which are initially placed in the corners of the board.

The aim of the game is to place all checkers in the opposite corner of the board.

A move in Trilma consists in moving one of your checkers to next position or making a sequence of jumps along the lines that connect spots on the board. Checkers are never taken off from the board.