-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIJoueur.java
executable file
·65 lines (54 loc) · 2.66 KB
/
IJoueur.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package quartoplus;
/**
* Voici l'interface abstraite qu'il suffit d'implanter pour jouer. Ensuite, vous devez utiliser
* ClientJeu en lui donnant le nom de votre classe pour qu'il la charge et se connecte au serveur.
*
* @author L. Simon (Univ. Paris-Sud)- 2006-2013
*
*/
public interface IJoueur {
// Mais pas lors de la conversation avec l'arbitre (méthodes initJoueur et getNumJoueur)
// Vous pouvez changer cela en interne si vous le souhaitez
static final int BLANC = -1;
static final int NOIR = 1;
/**
* L'arbitre vient de lancer votre joueur. Il lui informe par cette méthode que vous devez jouer
* dans cette couleur. Vous pouvez utiliser cette méthode abstraite, ou la méthode constructeur
* de votre classe, pour initialiser vos structures.
*
* @param mycolour
* La couleur dans laquelle vous allez jouer (-1=BLANC, 1=NOIR)
*/
public void initJoueur(int mycolour);
// Doit retourner l'argument passé par la fonction ci-dessus (constantes BLANC ou NOIR)
public int getNumJoueur();
/**
* C'est ici que vous devez faire appel à votre IA pour trouver le meilleur coup à jouer sur le
* plateau courant.
*
* @return une chaine décrivant le mouvement. Cette chaine doit être décrite exactement comme
* sur l'exemple : String msg = "" + positionInitiale + "-" +positionFinale + ""; ou "PASSE" si la règle du jeux le permet;
* Chaque position contient une lettre et un numéro, par exemple:A1-bppr (coup "A1-bppr")
*/
public String choixMouvement();
/**
* Méthode appelée par l'arbitre pour désigner le vainqueur. Vous pouvez en profiter pour
* imprimer une banni?re de joie... Si vous gagnez...
*
* @param colour
* La couleur du gagnant (BLANC=-1, NOIR=1).
*/
public void declareLeVainqueur(int colour);
/**
* On suppose que l'arbitre a vérifié que le mouvement ennemi était bien légal. Il vous informe
* du mouvement ennemi. A vous de répercuter ce mouvement dans vos structures. Comme par exemple
* éliminer les pions que ennemi vient de vous prendre par ce mouvement si la règle du jeux le permet. Il n'est pas nécessaire
* de réfléchir déjà à votre prochain coup à jouer : pour cela l'arbitre appelera ensuite
* choixMouvement().
*
* @param coup
* une chaine décrivant le mouvement: par exemple: "A1-rppc" (Je pose la pièce choisée par l'ennemi à A1 et je donne rppc à l'ennemi)
*/
public void mouvementEnnemi(String coup);
public String binoName();
}