ec-3.0-1 

Published under GNU Licence see GNU_Licence file
Copyright : Marc DECHICO

This documentation explain how to intall the sources and compile the pgm.

I) Installing the sources 
=========================

A directory will be created by the unzip cde
All sources, objets and executables will be in one  directory named
ec301src 

Put the zipep file in the directory you want to install ec-3.0-1.
cd  directory you chose
unzip ec301src.zip 
or whatever name you used for the download.  

II) Compiling the dos pgrogramm with Borland C++ 4.02 (Window 3.x)
===================================================================
A project file exist for each langage:
_german: EC_DE.IDE    (object and .exe in the d_ec_de subdirectory)
_french: EC_FR.IDE    (object and .exe in the d_ec_fr subdirectory)
_englis: EC_EN.IDE    (object and .exe in the d_ec_en subdirectory)

To compile  the english version open the project described in the file
EC_EN.IDE and choose build all. 

II) Compiling the programm with gcc for Linux
=============================================
cd the intallation directory: cd ec301src 
type make: make
If you want to compile only the english version type:  make en
for the german: make de
for the french: make fr

the programme  created will be ec_en,  ec_de or ec_fr.
 
III) Source files:
==================
ec_ctle.c  -> checking chess case.
ec_cxxx.i  -> include for subprogrammes in ec_ctle.c

ec_data.h  -> General header file (used in ec_ctle.c ec_jou.c ec_simu.c ec_menu.c) 
ec_datah.i -> Include for #define message number in ec_data.h
ec_da_xx.i -> Include for #define constant depending on the langage in ec_data.h

ec_init.c  -> Initializing the programme.
ec_in_xx.i -> Include for charging messge text in table

ec_jou.c   ->  Functions used by the interface for moving pieces and  extract results.

ec_simu.c  ->  Functions used for simulating the play  

ec_menu.c  ->  Function used for the standard C ANSI (teletype) user's interface.
ec_me_xx.i ->  Inlcude for #define used for constants in ec_menu.c

IV) To do 
==========
To improve this programme  some  functions should be added :

_ number of pieces being under control by by each side
_ number of pieces being covered by each side.
- some different strategies could be chosen by the simulator
  like aggressive/risky or defensive/riskless depending on the
  situation
_ avoiding to explore some parts of the tree when the lost of  pieces  is to high
_ building an opening database for the first moves.

Some unexplored ideas:
- Smart loosing by choosing some bad moves interresting for the player
_ Choosing some move in order to train the player using a specific piece
	by counting which move involve more a piece than an other one 
	(for example detecting, when a chess  or a taking  occures,
	 if it's made by a given piece)
_ Exploring the tree to find some excpetionnal board situations where for example
 	 a side having difficulties would win 

_ Finding some tree parts where a side as more chances to win ,excluding of course
	situations where a side has less pieces than the other.
	(it was primarily one of the motivations for making this pgm) 
