Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Erwan BOISTEAU-DESDEVISES
projet-asd-3
Commits
6a75475b
Commit
6a75475b
authored
Nov 12, 2021
by
theray1
Browse files
implementation de qques méthodes + ajout d'une matrice pour le plateau
parent
b961791c
Changes
14
Hide whitespace changes
Inline
Side-by-side
src/project/Bot.java
View file @
6a75475b
package
project
;
public
class
Bot
extends
Joueur
{
public
Bot
(
Couleur
couleur
,
Partie
partie
)
{
super
(
couleur
,
partie
);
// TODO Auto-generated constructor stub
}
public
void
JouerIATemeraire
()
{
}
...
...
src/project/Brave.java
View file @
6a75475b
...
...
@@ -3,7 +3,7 @@ package project;
public
class
Brave
implements
Regle
{
@Override
public
void
jouerCase
(
Case
caseBlanche
,
Joueur
joueur
,
P
lateau
plateau
)
{
public
void
jouerCase
(
Case
caseBlanche
,
Joueur
joueur
,
P
artie
partie
)
{
// TODO Auto-generated method stub
}
...
...
src/project/Couleur.java
0 → 100644
View file @
6a75475b
package
project
;
public
enum
Couleur
{
ROUGE
,
BLEU
}
src/project/Joueur.java
View file @
6a75475b
...
...
@@ -2,16 +2,18 @@ package project;
public
class
Joueur
{
Partie
partie
;
Couleur
couleur
;
public
Joueur
()
{
public
Joueur
(
Couleur
couleur
,
Partie
partie
)
{
this
.
partie
=
partie
;
this
.
couleur
=
couleur
;
}
public
void
JouerGloutonBrave
()
{
public
void
JouerGloutonBrave
(
Case
caseJouee
)
{
partie
.
jouer
(
this
,
0
,
caseJouee
);
}
public
void
JouerGloutonTemeraire
()
{
public
void
JouerGloutonTemeraire
(
Case
caseJouee
)
{
partie
.
jouer
(
this
,
1
,
caseJouee
);
}
}
src/project/Main.java
View file @
6a75475b
...
...
@@ -7,6 +7,5 @@ import javax.swing.SwingUtilities;
public
class
Main
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"test"
);
Window
window
=
new
Window
(
"bite"
);
}
}
src/project/Partie.java
View file @
6a75475b
...
...
@@ -5,14 +5,14 @@ public class Partie {
Joueur
joueur1
;
Joueur
joueur2
;
Regle
règle
;
int
tailePlateau
;
int
tail
l
ePlateau
;
public
int
getTailePlateau
()
{
return
tailePlateau
;
public
int
getTail
l
ePlateau
()
{
return
tail
l
ePlateau
;
}
public
void
setTailePlateau
(
int
tailePlateau
)
{
this
.
tailePlateau
=
tailePlateau
;
this
.
tail
l
ePlateau
=
tailePlateau
;
}
public
Plateau
getPlateau
()
{
...
...
@@ -54,6 +54,22 @@ public class Partie {
this
.
règle
=
règle
;
}
public
void
jouer
(
Joueur
joueur
,
int
regleId
,
Case
caseJouee
)
{
switch
(
regleId
){
case
0
:
System
.
out
.
println
(
"Brave"
);
//jouer brave
break
;
case
1
:
System
.
out
.
println
(
"Temeraire"
);
//jouer temeraire
break
;
}
}
public
void
demarrerPartie
()
{
//TODO : implementer
}
...
...
src/project/PetiteRegion.java
0 → 100644
View file @
6a75475b
package
project
;
public
class
PetiteRegion
extends
Region
{
private
Case
[]
cases
;
//6 7 8
//3 4 5
//0 1 2
public
Case
[]
getCases
()
{
return
cases
;
}
public
void
setCases
(
Case
[]
cases
)
{
this
.
cases
=
cases
;
}
public
PetiteRegion
(
Case
basGauche
,
Case
hautDroite
)
{
super
(
basGauche
,
hautDroite
);
// TODO Auto-generated constructor stub
}
}
src/project/Plateau.java
View file @
6a75475b
...
...
@@ -4,13 +4,16 @@ public class Plateau {
//attributs
private
int
longueur
;
private
QuadtreeNode
arbrePlateau
;
private
Quadtree
arbrePlateau
;
private
Case
[][]
matrice
;
//constructeur : un plateau non subdivisé
public
Plateau
(
int
longueur
){
this
.
longueur
=
longueur
;
Quadtree
arbPla
=
new
Quadtree
();
matrice
=
new
Case
[
longueur
][];
this
.
initalisationQuadtree
();
}
public
void
RemplirRegion
()
{
...
...
@@ -31,6 +34,11 @@ public class Plateau {
return
0
;
}
public
void
initalisationQuadtree
()
{
Case
[][]
cases
=
new
Case
[
longueur
][];
}
public
Case
[]
voisins
(){
/*Case[] lambda = null;
int x = 0;
...
...
@@ -53,14 +61,14 @@ public class Plateau {
/*
public void colorierCasesBrave(Case c){
Case[] voisinage = c.voisins();
public
void
colorierCasesBrave
(
Case
c
){
/*
Case[] voisinage = c.voisins();
//TODO : colorier c
for (Case x : voisinage){
if (x.caseColoriee()){
//TODO : colorier x
}
}
}
*/
}
*/
}
}
src/project/Quadtree.java
View file @
6a75475b
...
...
@@ -8,7 +8,7 @@ public class Quadtree {
}
public
Quadtree
(
int
longueur
)
{
this
.
root
.
initalisation
PR
Quadtree
(
longueur
,
0
,
0
);
//
this.root.initalisationQuadtree(longueur, 0, 0);
}
...
...
@@ -28,4 +28,19 @@ public class Quadtree {
return
root
;
}
private
Case
rechercheCase
(
Case
caseRecherchee
)
{
//TODO : recherche d'une case du plateau dans le quadtree
if
(
this
.
estVide
())
{
return
this
.
root
.
rechercheCase
(
caseRecherchee
);
}
else
{
return
null
;
}
}
public
QuadtreeNode
getRoot
()
{
// TODO Auto-generated method stub
return
this
.
root
;
}
}
src/project/QuadtreeNode.java
View file @
6a75475b
package
project
;
public
class
QuadtreeNode
{
private
QuadtreeNode
v1
,
v2
,
v3
,
v4
;
private
QuadtreeNode
v1
,
v2
,
v3
,
v4
;
//représentaiton des sous régions sens horaire
private
Region
region
;
public
QuadtreeNode
()
{
...
...
@@ -21,10 +21,42 @@ public class QuadtreeNode {
}
p
rivate
Case
rechercheCase
(
Case
caseRecherchee
)
{
p
ublic
Case
rechercheCase
(
Case
caseRecherchee
)
{
//TODO : recherche d'une case du plateau dans le quadtree
return
null
;
if
(
this
.
estFeuille
())
{
if
(
this
.
region
.
contient
(
caseRecherchee
))
{
PetiteRegion
pregion
=
(
PetiteRegion
)
this
.
region
;
Case
[]
cases
=
pregion
.
getCases
();
int
indice
=
3
*(
caseRecherchee
.
ligne
-
pregion
.
getBasGauche
().
ligne
)
+
caseRecherchee
.
colonne
-
pregion
.
getBasGauche
().
colonne
;
return
cases
[
indice
];
}
}
else
{
if
(!(
v1
==
null
)){
if
(
v1
.
region
.
contient
(
caseRecherchee
))
{
return
v1
.
rechercheCase
(
caseRecherchee
);
}
}
if
(!(
v2
==
null
)){
if
(
v2
.
region
.
contient
(
caseRecherchee
))
{
return
v2
.
rechercheCase
(
caseRecherchee
);
}
}
if
(!(
v3
==
null
)){
if
(
v3
.
region
.
contient
(
caseRecherchee
))
{
return
v3
.
rechercheCase
(
caseRecherchee
);
}
}
if
(!(
v4
==
null
)){
if
(
v4
.
region
.
contient
(
caseRecherchee
))
{
return
v4
.
rechercheCase
(
caseRecherchee
);
}
}
}
//code supposedly unreachable
return
caseRecherchee
;
}
private
Region
rechercheRegion
(
Region
regionRecherchee
)
{
...
...
@@ -32,8 +64,5 @@ public class QuadtreeNode {
return
null
;
}
public
void
initalisationPRQuadtree
(
int
longueur
,
int
ibg
,
int
jbg
)
{
//TODO : initialisation d'un arbre
}
}
src/project/Region.java
View file @
6a75475b
...
...
@@ -31,5 +31,13 @@ public class Region {
return
null
;
}
public
boolean
contient
(
Case
caseRecherchee
)
{
// TODO Auto-generated method stub
return
(
caseRecherchee
.
colonne
>=
this
.
basGauche
.
colonne
&&
caseRecherchee
.
colonne
<=
this
.
hautDroite
.
colonne
&&
caseRecherchee
.
ligne
>=
this
.
basGauche
.
ligne
&&
caseRecherchee
.
ligne
<=
this
.
hautDroite
.
ligne
);
}
}
src/project/Regle.java
View file @
6a75475b
package
project
;
public
interface
Regle
{
public
void
jouerCase
(
Case
caseBlanche
,
Joueur
joueur
,
P
lateau
plateau
);
public
void
jouerCase
(
Case
caseBlanche
,
Joueur
joueur
,
P
artie
partie
);
}
src/project/Temeraire.java
View file @
6a75475b
...
...
@@ -3,7 +3,7 @@ package project;
public
class
Temeraire
implements
Regle
{
@Override
public
void
jouerCase
(
Case
caseBlanche
,
Joueur
joueur
,
P
lateau
plateau
)
{
public
void
jouerCase
(
Case
caseBlanche
,
Joueur
joueur
,
P
artie
Partie
)
{
// TODO Auto-generated method stub
}
...
...
src/project/Window.java
deleted
100644 → 0
View file @
b961791c
package
project
;
import
java.awt.Dimension
;
import
javax.swing.JFrame
;
import
javax.swing.JPanel
;
public
class
Window
extends
JFrame
{
public
Window
(
String
title
)
{
super
(
title
);
buildContentPane
();
}
private
void
buildContentPane
(){
JPanel
jeu
=
new
JPanel
();
jeu
.
setPreferredSize
(
new
Dimension
(
1220
,
1080
));
this
.
getContentPane
().
add
(
jeu
);
this
.
setVisible
(
true
);
this
.
pack
();
this
.
setLocationRelativeTo
(
null
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment