Projet Jeu d'echecs
Objectif : Créer des programmes permettant de jouer
aux échecs à travers un site internet.
Contexte du projet :
Ce projet se déroulera en deux étapes fondamentales:
-
dans une première étape l'internaute pourra jouer contre
un programme en téléchargeant de manière transparente
une applet Java gérant le graphique et la communication avec le
programme serveur. Celui-ci sera écrit en perl. La communication
utilisera les sockets internet.
-
la seconde étape consistera à mettre à la disposition
des internautes un programme permettant de faire jouer deux internautes
entre eux. Là aussi on utilisera Java au niveau du client, Perl
au niveau du serveur et les sockets pour communiquer.
Tâches à réaliser pour la première étape:
-
Ecrire le programme perl lancé au démarrage et permettant
de générer un identifiant unique et une page html contenant
une applet Java à laquelle on passera comme paramètre l'identifiant
unique qui a été généré.
-
Créer une applet Java affichant un échiquier initial.
-
Ecrire une fonction déplaçant les pions avec contrôles
de positions.
-
Mettre en oeuvre la communication via les sockets internet pour transmettre
les positions jouées de part et d'autre.
-
Mise en oeuvre de l'algorithme alpha beta min max en Perl
-
Ecrire une fonction heuristique en mobilisant l'aide d'un joueur d'échec
d'un niveau international
Propriété intellectuelle des logiciels développés:
Le logiciel qui sera développé sera un logiciel libre
régie par la licence GPL dont le texte pourra être consulté
au http://www.gnu.org
et dont le principe est le suivant: les logiciels sous licence GPL sont
libres, gratuits et modifiables à souhait à condition que
le logiciel qui en résulte soit également régie par
la GPL. Les sources des programmes développés seront disponibles
sur le site d'ALADIN (Amis de Linux, Amis du Développement sur INternet)
à l'URL https://alad1.tripod.com/echec/sources.
L'avantage d'une telle démarche est le fait de bénéficier
de l'apport de plusieurs co-développeurs sur Internet, ce qui réhausse
la qualité du logiciel et diminue les bugs. Ce co-développement
assure également la pérennité du projet.