MCHEAT.EXE
==========
				Documentation

Introduction
============
MineCheat is a program I wrote to help you solve the MineSweeper Game 
included with all copies of MS-Windows 3.1. It uses a little known feature 
of MineSweeper to quite simply cheat at the game! Don't waste your time 
trying to solve MineSweeper using logic, let MineCheat solve it for you in
only a few seconds! Now remember, this program will not create world peace 
or make you computer run faster, but it's good for a few laughs, and it 
will amaze your friends.

I was inspired to make this program for three reasons:
- First, I came across a little program by Peter Karrer called MineHelp
  (on INTERNET at ftp.cica.indiana.edu in pub/pc/win3/games/minehlp1.zip)
  this program reads the board and uses logic to make as many simple moves 
  as it can. I thought it was great.

- Second, I purchased a copy of Turbo Pascal 1.5 because I wanted to make 
  great Windows programs, large and small!

- Third, I don't remember where I came across this information, but when 
  you type in a secret keyboard sequence, MineSweeper will tell you which 
  squares have bombs and which squares don't. Here is the secret:

	1. Start the "Mine Sweeper" Program ( If not running already ).
	2. Type in the following: "xyzzy<Return><Shift-Return>".
	3. Now move the Mouse around on the MineSweeper playing board!
	   As you move the Mouse, watch the top left corner of the
	   screen, see the pixel change color from black to white???
	4. White means there is no bomb on that square, Black means 
	   there is.

With these three elements in mind, MineCheat was born!

How to play
===========
1. Start up MineSweeper and MineCheat ( MCHEAT.EXE & WINMINE.EXE ).
2. Then press the "Cheat" button on MineCheat!

That's it, MineCheat will then solve the board in the quickest time 
possible for your computer!

How it works
============
The MineCheat source code is written in Turbo Pascal for Windows 1.5 and 
I have made it avaible for anyone interested in how it works!

- When the program first starts, it looks to make sure that the top left
  corner of the screen is not covered. If it finds any bad windows 
  covering this corner, it displays an error message.

- When you press the "Cheat" button Mine cheat follows the following steps:
	Step #1 if MineSweeper is still on the screen AND it's size has
		Changed then Change the dimensions.
	Step #2 Find MineSweeper ( if not found already ) and then send 
		the secret code ! "x y z z y <return> <shift>+<return>".
	Step #3 Make sure that the MineSweeper window is known and that
		the top left square is up ( not solved ). 
	Step # 4 for every square:
		- Move the mouse to the square.
		- if the square has already been marked, skip it.
		- Read the color from the top corner of the screen.
		- Mark or step on a square.

Notes
=====
- MineCheat works only when MineSweeper is in color mode.

- No Window can cover the top left pixel of the screen, it must be free!
  MineCheat will make sure that this pixel is free before it starts.

- MineCheat doesn't do anything if the mine field is not fully visible on 
  the screen.

- The program relies on the MineSweeper window dimensions and on the 
  colors and shapes of the bitmaps used for the squares. If this should 
  change with future MineSweeper versions, MineCheat would stop working.

- MineCheat will only work if you have a clean board that has not been 
  marked or steped on.

- If you start getting errors, close both MineSweeper and MineCheat and 
  start over.

Performance / Accuracy
======================
When used properly, MineCheat solves all of MineSweeper's modes, 100% 
of the time, in other words IT'S PERFECT.

The time used to solve the puzzle depends of course on the processor 
speed, but also on the speed of the video driver. On my 386/20M SX with 
a Paradise card, the best score was 9 seconds (usually 9 to 12) On the 
Expert level.

Legal Stuff
===========
This program is free, no warranties of course. I ask only two things: 
- It should always be distributed as a package containing MCHEAT.EXE, 
  MCHEAT.PAS, MCHEAT.RES (TPW files) and MCHEAT.TXT (this document). 
- For now, this program can be distributied without restriction. But
  I reserve the right to stop distribution or use of this program at 
  any time if I feel the need to do so. In other words, I retain 
  ownership.
As long as these two conditions are met, no problem.

Other
=====
I am a college student ( winter-spring of 1993 ), majoring in Computer 
Science, and might be looking for a job starting this summer. If you 
know of a good job programming in Windows, and you think this program 
is good stuff ( for it's size ), please E-Mail me at:
		n8945817@henson.cc.wwu.edu
or U.S. mail me at :
		Keith Garner
		2120 Niagara, DR.
		Bellingham, WA USA 98226-5912
I speak your language.

						Keith S. Garner
						January 1993