Class Mbot

java.lang.Object
   |
   +----Player
           |
           +----Mbot

public class Mbot
extends Player
Mbot Robot
 Mbot est soit appelée par Mancala soit par Tournoi il joue lorsqu'il
 recoit l'instruction setTurn(true)
 

Version:
1.0b1 8 Mai 98

Variable Index

 o badTab
 o info
 o myNick
 o tab

Constructor Index

 o Mbot()
Constructor, DO NOT CHANGE

Method Index

 o avoidCapture()
Calcul le bol que l'adversaire jouerait pour capturer une de nos bille
 o bestAC(int)
calcul le meilleur coup a jouer pour eviter une capture
 o capture(int[])
Retourne le bol qui lui permet de capturer un maximum de billes en commencant par la droite
 o captureOrNot()
Choisit entre capturer rejouer et avoidCapture en fonction du gain/perte
 o checkBadTab(int)
Check Bad Tabs (reflex conditiones) Pour certaines tables bien determinees il connait deja le meilleur coup
 o emptyBiggest()
vide le plus gros des bol qui lui permet de jouer dans le kalaha
 o emptyRightest()
vide le bol le plus a droite
 o finDePartie()
S'il ne reste plus que 2 bols non vides chez l'adversaire, l'ordinateur va essayer de ne pas lui en remplir afin de le faire perdre ou que la somme des pions de l'adversaire est < 4
 o getlastBol(int, int[])
retourne le dernier bol ou arrive la bille
 o hasard()
choisit un bol au hasard
 o howManyR(int[])
Calcul le nombre de replay possible pour un tableau
 o log(String)
Centralise le log de Mbot
 o move(int, int[])
distribution des pions dans les bons bols et retourne le nouveau tableau
 o play(int[])
 o prepareSecondShot()
regarde si en jouant un ce coup il pourrait rejouer le coup suivant en essayant d'en mettre un dans le Kalaha
 o rejouer(int[])
cette methode permet de tester si l'ordinateur est en mesure de jouer un coup lui permettant de rejouer, c'est a dire la methode test si le dernier pion est pose dans le kalaha en comencant par la droite, de facon a rejouer un maximum de fois
 o rtab(int[])
inverse le tableau de jeu, cette fonction permet de s'implifier l'implementation du programme
 o strat()
cette methode choisie le meilleur coup a jouer et retourne le bol a jouer sout forme d'entier
 o terminer()
le methode terminer est appelee si l'ordinateur a 24 pions dans son kalaha et est donc en position de remporter la partie

Variables

 o myNick
 String myNick
 o info
 String info
 o tab
 int tab[]
 o badTab
 int badTab[][]

Constructors

 o Mbot
 public Mbot()
Constructor, DO NOT CHANGE

Methods

 o play
 public synchronized int play(int ntab[])
Overrides:
play in class Player
 o strat
 int strat()
cette methode choisie le meilleur coup a jouer et retourne le bol a jouer sout forme d'entier

 o checkBadTab
 int checkBadTab(int j)
Check Bad Tabs (reflex conditiones) Pour certaines tables bien determinees il connait deja le meilleur coup

 o terminer
 int terminer()
le methode terminer est appelee si l'ordinateur a 24 pions dans son kalaha et est donc en position de remporter la partie

 o rejouer
 int rejouer(int ttab[])
cette methode permet de tester si l'ordinateur est en mesure de jouer un coup lui permettant de rejouer, c'est a dire la methode test si le dernier pion est pose dans le kalaha en comencant par la droite, de facon a rejouer un maximum de fois

 o captureOrNot
 int captureOrNot()
Choisit entre capturer rejouer et avoidCapture en fonction du gain/perte

 o prepareSecondShot
 int prepareSecondShot()
regarde si en jouant un ce coup il pourrait rejouer le coup suivant en essayant d'en mettre un dans le Kalaha

 o emptyBiggest
 int emptyBiggest()
vide le plus gros des bol qui lui permet de jouer dans le kalaha

 o emptyRightest
 int emptyRightest()
vide le bol le plus a droite

 o hasard
 int hasard()
choisit un bol au hasard

 o getlastBol
 int getlastBol(int bol,
                int ttab[])
retourne le dernier bol ou arrive la bille

 o capture
 int capture(int ttab[])
Retourne le bol qui lui permet de capturer un maximum de billes en commencant par la droite

 o avoidCapture
 int avoidCapture()
Calcul le bol que l'adversaire jouerait pour capturer une de nos bille

 o bestAC
 int bestAC(int j)
calcul le meilleur coup a jouer pour eviter une capture

 o finDePartie
 int finDePartie()
S'il ne reste plus que 2 bols non vides chez l'adversaire, l'ordinateur va essayer de ne pas lui en remplir afin de le faire perdre ou que la somme des pions de l'adversaire est < 4

 o howManyR
 int howManyR(int stab[])
Calcul le nombre de replay possible pour un tableau

 o move
 int[] move(int bol,
            int stab[])
distribution des pions dans les bons bols et retourne le nouveau tableau

 o rtab
 int[] rtab(int stab[])
inverse le tableau de jeu, cette fonction permet de s'implifier l'implementation du programme

 o log
 void log(String s)
Centralise le log de Mbot