=====================================================================
  VBChess -- What's the Code?, Nov. 1995, Computer Shopper
			             v. 1.00

             Requires-- Windows 95, Visual Basic 4.0		
                        Professional or Enterprise Edition 
                        (recommended) and an 800x600 display 
				mode.
=====================================================================
VBChess demonstrates the use of a VB 4.0 Class Module used 
with Remote Automation to offload 'business rules' (here, 
the logic of a chess game) onto a remote server. 

There are 2 projects to choose from:

VBCHESS.VBP -- Run two copies of this program to play chess on the same
               or different workstations.
	       (VBCHESS.EXE is included but requires the very large VB4.0 
		run-time modules.)

CHESCHAT.VBP -- Source for the ChessChatEngineClass, an OLE Server
                that provides control of a single chess game.
	       (CHESCHAT.EXE is included but requires the VB4.0 run-time
               modules as well as the OLE server utilities.)  Because 		   
		   CHESCHAT is an OLE Server .EXE, it should be possible to
               place it in a shared network directory and access it
		   from two client workstations (provided the CHESCHAT.TLB 
		   file is added to your OLE registry).  VB 4.0 Enterprise
		   Edition provides the Remote Automation Connection Manager
 	        utility to simplify installing remote OLE components.

Hints: Use 'Game | Start New Game' option to register player with the 
	server module.  The first player to do so will get a 'wait' 	
	dialog box until the second player logs-on to the CHESCHAT.EXE 	
	server. 

	Once the game begins, you have several play options.  You can
        view the board from either Black or White's perspective.  You 
	can enable or disable 'move validation' where each move is 	
	validated by the server.  (Without this option, VBChess behaves
	just like a real chessboard, with each player responsible for 	
	making correct moves.)

	If you make a mistake ('j'adoube' in chess terms), you can 
	retract any single move by selecting the 'Takeback Last Move' 	
	menu option, provided the other player agrees.  (Once your 	
	opponent makes another move, your move can't be undone.)

	Press the right mouse button to see a list of possible moves for 	
	each piece (except for castling options and en passant pawn 	
	captures).  This feature is designed for beginners (and it helps 	
	with program debugging a lot too).  It won't eliminate illegal  	
	moves based on checks (or exposed) checks though.

	You can pause, re-start, draw and resign games.  Castling is 	
	supported (but not en passant pawn capturing, though this should
        not be too hard to add.)  Several end-game features must be done 	
	manually: determining checkmate, stalemate, 3-move draws or 	
	inadequate material for checkmate.  

	Enjoy!
=====================================================================
(Richard Dragan, 74743.1510@compuserve.com)




