MJS - Mah Jongg Scorer
For the Psion 3a
Copyright by Phil Davidson

Introduction

I have been playing Mah Jongg for a number of years now, one of the
problems that our faced was that of keep score of a game.  We'd quickly
work out what each hand had scored, but it took quite a few minutes
on paper to work out the adjusted scores, and then to update the 
ongoing score for the whole game.

At that time, I was blessed with my first Psion.  I soon recognised
the potential for developing a small application that would allow
me to track the scoring of a Mah Jongg game.

Out of that need, came this application.


Overview

The MJS application does not calculate what an individual hand scores
i.e. you can't tell it that you've got 2 pongs of minor tiles and
a pong of dragons, and have it tell you what that scores.  We found
that using the psion for this did not in anyway speed up our play,
we can work out hand scores quite quickly.

What it can do though, is let you input the four hand scores, and
will work out who owes who what, it will make the appropriate
adjustements, and give you the resulting score, along with the new
total score for the whole game.

Please note, this is not based around the fan scoring method, although if there's
demand, I could make a fan scoring version.  The scoring mechanism is based
around the 2 points for a pong in minor tiles, 32 for a concealed kong of
major tiles, doubles for this and doubles for that.

I have tried to make the interface as intuitive as possible, but no doubt there are
areas that can be improved.

Other features include:

	- Save/Load facility
	- Enter Penalties scores
	- Display hand scores
	- Display total game score
	- Dual format display (toggle with diamond key)
	- Menu & Hotkey driven
	- Tracks which is the current wind
	- Tracks which player is East wind

Statistics database

	- number of games played
	- number of games won
	- average score
	- best hand score
	- best/worst game scores 
	- average number of mahjongs
	- % win rate
	- etc...

Future Developments

	- History facility - keep a history of past games, who won,
	  scores etc.
	- Anything you want to suggest that I can be bothered coding ;-)
	- Ability to customise settings.  e.g. starting score - I've
	  assumed and hard coded a starting score of zero for games.
	- No testing for 3c compatibility has been done
	- If someone gives me a Siena I'll have a go at re-coding for
	  the smaller display (he says hopefully ;-)


How to get MJS

	- Check out my home page, http://ds.dial.pipex.com/davidson/
	- I have posted the zip file containing all required files to
	  comp.binaries.psion
	- You can always email me at the address given below, and I
	  will email you a copy back.

Installation

Copy the files into the apps directory and install as normal.  


Known Bugs, areas for improvement etc.

	- Cannot escape out of all dialog boxes. But all the major ones are
	  catered for.
	- Error checking.  Again, sloppy on my part, I really need to
	  tighten the error checking - mostly on imputing values.
	  There is nothing here though that should spoil your
	  enjoyment.  I've been using this application for months
	  now and have never lost a game half way through.
	- The statistics screen only displays about a dozen entries on the screen,
	  it crashes if you try to have more.  I need to implement a
	  paging/scrolling facility for the statistics screens/
	- The score display.  I quite like the default score display,
	  but that doesn't everyone else will.  If you've got
	  suggestions - send them in.



Registration and how to contact me

There is NO registration, I had originally released  this as shareware, but
have decided to release it as freeware. I still retain copyright, and request
that you do not modify this distribution file in anyway, but do feel free
to pass it on and around.

My news feed doesn't carry a lot of the psion newsgroups traffic,
so I'll probably miss anything you post to usenet.

You can get me at the following email address

fil@mojo.europe.dg.com
or
davidson@dial.pipex.com
