/* $Id: README,v 1.17 2004/06/02 02:10:24 slothman Exp $ */

JChessBoard 

Copyright (C) 2000-2002 Claus Divossen <claus.divossen@gmx.de>


Table of contents:

1. About
2. Requirements
3. How do I start it?
4. How do I compile it?
5. Usage
6. Planned features
7. Known Bugs


1. About

    JChessBoard is a chess board written in Java that can be connected
    to another JChessBoard via a direct TCP/IP connection. No Internet
    Chess Server is required for playing. It also became a full featured
    PGN viewer and editor.

    This is not a Java applet, it cannot run in a browser. It is a
    stand alone Java application.

2. Requirements

    The only requirement to use JChessBoard is a working JRE or JDK, 
    version 1.2.2 or greater. A JDK/JRE version 1.3 or greater is recommended.


3. How do I start it?

    If you didn't compile it yourself, you need to use the delivered jar file.

    Using a JRE only:
    
        jre -jar JChessBoard.jar
    
    Using a JDK:
    
        java -jar JChessBoard.jar

    On a windows machine, a double click on the jar file might work, too.


4. How do I compile it?

    You will need a working JDK of course, version 1.2.2 or greater.

    If you have Java build tool "ant":
    	
        Just go the the directory with the build.xml file and type:

           ant

	This will do all the necessary steps and generate the .jar file.

    Otherwise:

        Change to the directory above the jchessboard directory and enter:

            javac jchessboard/JChessBoard.java

        This should generate all required .class files. You can start this 
        compiled version with:

            java jchessboard/JChessBoard

        (Giving the name without the .class extension!)

        After successfull compilation, the jar file can be created with:

            jar cmf Manifest JChessBoard.jar jchessboard/*.class images/*

        Note: All .java files have to be in the directory jchessboard,
        because they all belong to the package jchessboard. 

5. Usage

    Network Games

    To connect to another JChessBoard, just click "Connect..." in the File
    menu. The JChessBoard server will be running by default, unless changed 
    in the "Server settings..." menu. 

    Incoming connections can be accepted or rejected. If you accept the new
    connection, you can optionally open a new window for that connection to
    keep the state of your current board.

    The board will be newly initialised after connecting. Each subsequent move
    will be transmitted to the other JChessBoard.

    Only the figures of your side can be moved, the first move decides what 
    side that will be.
    

6. Planned features
    - help 
    - tutoral: The Laws of Chess, F.I.D.E 1997    
    - Other connectors: ICS
    - Applet version. Because of security restrictions, an applet is not 
      able to connect directly to another applet. Still usefull if you 
      want to play against the AI, or for two players using one JChessBoard,
      or as PGN browser.
    - Improved AI: Smaller memory footprint, opening database, better timeout
      algorithm, difficulty levels. But the AI is not the main focus of 
      that game, I made it just for fun.
    - Board editor
    - Interactive notation pane
    - Toolbar
    - Game upload to peer.
    - Suggestions?

7. Known Bugs
    - The game may block while waiting for a connection.  

Any feedback is welcome.

Enjoy!

