L'Awale se joue entre deux joueurs, le joueur Nord et le joueur Sud. Le plateau de jeu est lui-même divisé en deux zones comportant chacune 6 trous, la zone supérieure appartenant au joueur Nord et la zone inférieure au joueur Sud. Au début de la partie, 48 graines vont être distribuées également entre les 12 trous du plateau de jeu (ce qui revient donc à placer 4 graines dans chaque trou).
Le joueur démarrant la partie est choisi aléatoirement et les participants vont ensuite jouer en alternance. Lorsque c'est son tour, un joueur doit choisir un des trous non-vide se trouvant dans sa zone de jeu puis ramasser les graines se trouvant dedans. Il sème ensuite les graines qu'il vient de ramasser dans le sens contraire des aiguilles d'une montre, une graine à la fois dans chaque trou. Si la dernière graine distribuée tombe dans un des trous de la zone de l'adversaire qui contenait déjà une ou deux graines auparavant, le joueur capture les deux ou trois graines présentes dans le trou à la fin du mouvement. Les graines capturées sont enlevées du plateau de jeu et rangées dans le grenier du joueur.
Une capture multiple est possible si un joueur capture deux ou trois graines et que le trou précédent contient aussi deux ou trois graines. Dans ce cas, les graines de ce trou sont capturées aussi et on continue ainsi jusqu'à ce que le trou précédent ne contiennent pas deux ou trois graines OU que ce trou n'appartienne pas à l'adversaire.
Si le nombre de graines ramassées dans le trou de départ est plus grand que 11 cela constitue une boucle. Dans ce cas, le trou initial n'est pas être comptabilisé lors de la redistribution des graines et doit donc toujours rester vide. Enfin une autre règle spéciale dit qu'un joueur n'est jamais autorisé à "affamer" son adversaire, c'est à dire à faire un mouvement qui conduirait à la capture de toutes les graines présentes dans la zone de l'adversaire.
Deux raisons peuvent conduire à la fin d'un jeu. La première étant qu'un des deux joueurs a collecté plus de la moitié des graines (soit 25 graines ou plus). La deuxième raison étant qu'un joueur n'a plus aucune graine dans sa zone et que donc il ne puisse plus jouer. Dans ce cas, l'autre joueur va capturer toutes les graines restantes.
Une partie importante du tp consiste à d'abord parcourir et chercher à comprendre le fonctionnement de ces classes avant même de chercher à programmer le jeu. Vous verrez alors entre autres que les classes ABoard.java, AGame.java et APlayer.java contiennent des fonctions comportant une entête mais dont le code est vide. C'est ces fonctions que vous devez compléter de manière à faire fonctionner le jeu. Les détails de ces fonctions, du travail demandé ainsi que des classes Java utilisées pour implémenter le jeu seront discutés durant la démonstration.
Important: lorsque vous aurez fini le tp vous devez simplement remettre comme fichiers vos versions de ABoard.java, AGame.java et APlayer.java, PAS toutes les autres classes et autres fichiers qui sont déjà implémentés dans le fichier Awale.zip. C'est à vous de vous assurer que les classes que vous remettez soient compatibles et fonctionnent avec les autres classes originales présentes dans le fichier Awale.zip.
Remarque: tant que vous n'aurez pas compléter le code des fonctions demandés dans le cadre du tp, il est normal que Java "râle" lors de la compilation.
TP | 10 points |