Commit 9083983c authored by MACE Lloyd's avatar MACE Lloyd

Classe PlayerMCTS, une classe main pour jouer contre l'IA MCTS

parent 62b4ddfa
package tictactoecodingame;
/**
*
* @author franck
*/
/*--------------------------------------------------------*/
/* Version jeu en local */
/*--------------------------------------------------------*/
public class Player {
public static void main(String args[]) {
//Choisir le type de partie que vous souhaitez jouer:
//JOUEUR CONTRE MCTS 9x9
JoueurHumain humain = new JoueurHumain("Humain");
JoueurOrdi joueurOrdi = new JoueurOrdi("Ordi");
int nbIteration = 2000; //Augmenter le nombre d'itérations pour avoir un vrai challenge !
AlgoRechercheMCTS mcts = new AlgoRechercheMCTS(humain, nbIteration);
joueurOrdi.setAlgoRecherche(mcts);
GrilleTicTacToe9x9 grille = new GrilleTicTacToe9x9();
Arbitre a = new Arbitre(grille, joueurOrdi, humain);
//JOUEUR CONTRE MCTS 3x3
/*
JoueurHumain humain = new JoueurHumain("Humain");
JoueurOrdi joueurOrdi = new JoueurOrdi("Ordi");
int nbIteration = 2000; //Augmenter le nombre d'itérations pour avoir un vrai challenge !
AlgoRechercheMCTS mcts = new AlgoRechercheMCTS(humain, nbIteration);
joueurOrdi.setAlgoRecherche(mcts);
GrilleTicTacToe3x3 grille = new GrilleTicTacToe3x3();
Arbitre a = new Arbitre(grille, joueurOrdi, humain);
*/
//MCTS vs MCTS 9x9
/*
JoueurOrdi joueurOrdi1 = new JoueurOrdi("Ordi1");
JoueurOrdi joueurOrdi2 = new JoueurOrdi("Ordi2");
AlgoRechercheMCTS mcts1 = new AlgoRechercheMCTS(joueurOrdi2, 2000);
AlgoRechercheMCTS mcts2 = new AlgoRechercheMCTS(joueurOrdi1, 5000);
joueurOrdi1.setAlgoRecherche(mcts1);
joueurOrdi2.setAlgoRecherche(mcts2);
GrilleTicTacToe9x9 grille = new GrilleTicTacToe9x9();
Arbitre a = new Arbitre(grille, joueurOrdi1 , joueurOrdi2);
*/
//MCTS vs MCTS 3x3
/*
JoueurOrdi joueurOrdi1 = new JoueurOrdi("Ordi1");
JoueurOrdi joueurOrdi2 = new JoueurOrdi("Ordi2");
AlgoRechercheMCTS mcts1 = new AlgoRechercheMCTS(joueurOrdi2, 2000);
AlgoRechercheMCTS mcts2 = new AlgoRechercheMCTS(joueurOrdi1, 5000);
joueurOrdi1.setAlgoRecherche(mcts1);
joueurOrdi2.setAlgoRecherche(mcts2);
GrilleTicTacToe3x3 grille = new GrilleTicTacToe3x3();
Arbitre a = new Arbitre(grille, joueurOrdi1 , joueurOrdi2);
*/
//MCTS vs ALEA 9x9
/*
JoueurOrdi joueurOrdi1 = new JoueurOrdi("Ordi1");
JoueurOrdi joueurOrdi2 = new JoueurOrdi("Ordi2");
AlgoRechercheMCTS mcts = new AlgoRechercheMCTS(joueurOrdi2, 2000);
AlgoRechercheAleatoire alea = new AlgoRechercheAleatoire();
joueurOrdi1.setAlgoRecherche(mcts);
joueurOrdi2.setAlgoRecherche(alea);
GrilleTicTacToe9x9 grille = new GrilleTicTacToe9x9();
Arbitre a = new Arbitre(grille, joueurOrdi1 , joueurOrdi2);
*/
//Choisir de jouer une partie ou un tournoi :
//a.startNewGame(true);
a.startTournament(100, true);
}
}
/*--------------------------------------------------------*/
/* Version Codin game */
/*--------------------------------------------------------*/
/*
import java.util.Scanner;
class Player {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
CoupTicTacToe3x3 coup;
JoueurHumain adversaire = new JoueurHumain("Adversaire");
JoueurOrdi joueurOrdi = new JoueurOrdi("Ordi");
AlgoRechercheAleatoire alea = new AlgoRechercheAleatoire( ); // L'ordinateur joue au hasard
joueurOrdi.setAlgoRecherche(alea);
GrilleTicTacToe3x3 grille = new GrilleTicTacToe3x3();
grille.init();
while (true) {
int opponentRow = in.nextInt();
int opponentCol = in.nextInt();
int validActionCount = in.nextInt();
for (int i = 0; i < validActionCount; i++) {
int row = in.nextInt();
int col = in.nextInt();
}
if ( opponentCol != -1 ) {
coup = new CoupTicTacToe3x3(opponentCol, opponentRow, new Jeton(adversaire));
grille.joueCoup(coup);
}
coup = (CoupTicTacToe3x3) joueurOrdi.joue(grille);
grille.joueCoup(coup);
System.out.println(coup.getLigne() + " " + coup.getColonne() );
System.out.flush();
}
}
}
*/
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment