-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGrille.java
More file actions
65 lines (59 loc) · 1.93 KB
/
Grille.java
File metadata and controls
65 lines (59 loc) · 1.93 KB
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
import java.util.ArrayList;
/**
* Classe Grille
* @author BOULLIER Arthur
* @author GONIN-SAGET Allan
*/
public class Grille{
ArrayList<Case> listeDeCases;
Grille(){
listeDeCases = new ArrayList<Case>();
for(int i=0;i<9;i++){
listeDeCases.add(new Case());
}
}
/*
* Méthode qui permet de récupérer une case de la grille
* @param id: l'identifiant de la case
* @return Case: la case correspondante
*/
public Case getCase(Integer id){
if(id.equals(9)){
System.out.println("LA 9e case");
return null;
}
return this.listeDeCases.get(id);
}
/*
* Méthode qui permet de savoir si un joueur a gagné
* @return boolean: vrai si un joueur a gagné, faux sinon
*/
public boolean verificationVictoire(){
// Vérifie les lignes horizontales
for (int i = 0; i < 9; i += 3) {
if (this.listeDeCases.get(i).identiques(this.listeDeCases.get(i + 1)) && this.listeDeCases.get(i + 1).identiques(this.listeDeCases.get(i + 2))) {
return true;
}
}
// Vérifie les colonnes verticales
for (int i = 0; i < 3; i++) {
if (this.listeDeCases.get(i).identiques(this.listeDeCases.get(i + 3)) && this.listeDeCases.get(i + 3).identiques(this.listeDeCases.get(i + 6))) {
return true;
}
}
// Vérifie les diagonales
if (this.listeDeCases.get(0).identiques(this.listeDeCases.get(4)) && this.listeDeCases.get(4).identiques(this.listeDeCases.get(8))) {
return true;
}
if (this.listeDeCases.get(2).identiques(this.listeDeCases.get(4)) && this.listeDeCases.get(4).identiques(this.listeDeCases.get(6))) {
return true;
}
return false;
}
/*
* main de test
*/
public static void main(String[] args){
new Grille();
}
}