public class morpion2
extends PApplet
Constructor and Description |
---|
morpion2() |
Modifier and Type | Method and Description |
---|---|
void |
afficheJeu(int[] jeu)
Permet d'afficher l'état du jeu courant.
|
PImage |
binarisation(PImage img,
int seuil)
Renvoie une image noir et blanc
|
int[] |
coupPossible(int[] jeu)
Renvoie l'ensemble des coups encore possibles
|
PVector |
getCenter(Contour contour)
renvoie les coordonées (x,y) du barycentre d'un contour fermé
|
java.util.ArrayList<PVector> |
getCentersObjects(boolean pion)
Renvoie une ArrayList de cases ou de pions
|
int[] |
getPositionsPieces(java.util.ArrayList<PVector> centers_pieces,
java.util.ArrayList<PVector> centers_boxes)
Renvoie un tableau du jeu dans l'état courant
|
float |
getSurfaceGrid()
Renvoie la surface de l'aire de jeu
|
int[] |
initialiseJeu()
Renvoie un tableau de jeu avec que des zéros.
|
boolean |
isEmpty(int[] jeu,
int i)
Renvoie vrai si la case est vide, faux sinon
|
boolean |
isSort(PVector a,
PVector b,
int epsilon)
renvoie vrai si les points sont déjà classés
|
boolean |
isWin(int[] jeu)
return vrai(true) si la parti est gagnée, faux(false) sinon
|
int |
joueur(int[] jeu)
Renvoie le numéro du joueur qui doit jouer le prochain coup (1 ou 2)
|
int |
meilleurCoup(int[] jeu,
int joueur)
Le meilleur coup à jouer avec une intelligence artificielle faible
|
void |
play(int[] jeu,
int i,
int player)
Permet de jouer un coup
|
void |
serverHTTP(java.lang.String pos)
Cette méthode permet d'envoyer au client Snap le prochain coup à jouer par le robot.
|
java.util.ArrayList<PVector> |
sortPoints(java.util.ArrayList<PVector> pts)
Renvoie une ArrayList de points triés
|
int |
winner(int[] jeu)
Renvoie l'indice du joueur qui a gagné
|
public int[] getPositionsPieces(java.util.ArrayList<PVector> centers_pieces, java.util.ArrayList<PVector> centers_boxes)
centers_pieces
- une liste des centres des pions sur l'aire de jeucenters_cases
- une liste des centres des cases sur l'aire de jeupublic boolean isSort(PVector a, PVector b, int epsilon)
a
- Un point (x1, y1)b
- Un autre point (x2, y2)epsilon
- tolérance sur l'égalité de deux flottantspublic java.util.ArrayList<PVector> sortPoints(java.util.ArrayList<PVector> pts)
pts
- une liste de points (x, y)public PImage binarisation(PImage img, int seuil)
img
- Une image du flux vidéoseuil
- valeur seuil pour la binarisationpublic float getSurfaceGrid()
public java.util.ArrayList<PVector> getCentersObjects(boolean pion)
pion
- Un booléen pour si vrai (true) on cherche le centre des pions
si faux (false) on cherche le centre des casespublic PVector getCenter(Contour contour)
contour
- La surface openCV (de type Contour) dont on veut calculer le barycentre (x,y)public int[] initialiseJeu()
public void afficheJeu(int[] jeu)
jeu
- Tableau de l'état courant du jeupublic int joueur(int[] jeu)
jeu
- Tableau de l'état courant du jeupublic int[] coupPossible(int[] jeu)
jeu
- Tableau de l'état courant du jeupublic boolean isEmpty(int[] jeu, int i)
jeu
- Tableau du jeu dans l'état couranti
- Indice de la casepublic void play(int[] jeu, int i, int player)
i
- Indice de la case à jouerplayer
- humain = 1 , ordinateur = 2jeu
- Tableau de l'état actuel du jeupublic boolean isWin(int[] jeu)
return
- vrai(true) si la parti est gagnée, faux(false) sinonpublic int winner(int[] jeu)
jeu
- Tableau du jeu dans l'état actuelpublic int meilleurCoup(int[] jeu, int joueur)
jeu
- Tableau du jeu dans l'état en coursjoueur
- dont c'est le tourpublic void serverHTTP(java.lang.String pos)
pos
- Réponse de l'ordinateur du prochain coup à jouer