Compare commits
8 Commits
Affichage
...
8cefae7da6
| Author | SHA1 | Date | |
|---|---|---|---|
| 8cefae7da6 | |||
| dde0cf6ee2 | |||
| a5bfa18b3a | |||
| 962d21d2a6 | |||
| 6c268ee2da | |||
| 2f3b2f3125 | |||
| dedc20f54a | |||
| ad350002f2 |
23
Modèles/Modèle Class.txt
Normal file
23
Modèles/Modèle Class.txt
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>Class</code>
|
||||||
|
*
|
||||||
|
* @version
|
||||||
|
* @author
|
||||||
|
* Date :
|
||||||
|
* Licence :
|
||||||
|
*/
|
||||||
|
public class Class {
|
||||||
|
//Attributs
|
||||||
|
|
||||||
|
//Constructeur
|
||||||
|
public Class() {
|
||||||
|
|
||||||
|
}
|
||||||
|
//Méthodes
|
||||||
|
|
||||||
|
//Affichage
|
||||||
|
public String toString() {
|
||||||
|
return "" ;
|
||||||
|
}
|
||||||
|
}
|
||||||
23
Modèles/Modèle Event.txt
Normal file
23
Modèles/Modèle Event.txt
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>Event</code>
|
||||||
|
*
|
||||||
|
* @version
|
||||||
|
* @author
|
||||||
|
* Date :
|
||||||
|
* Licence :
|
||||||
|
*/
|
||||||
|
public class Event implements ActionListener {
|
||||||
|
// Attributs
|
||||||
|
|
||||||
|
// Constructeur de l'évennement
|
||||||
|
public Event() {
|
||||||
|
|
||||||
|
}
|
||||||
|
// Action de l'évennement
|
||||||
|
public void actionPerformed(ActionEvent event){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
14
Modèles/Modèle Interface.txt
Normal file
14
Modèles/Modèle Interface.txt
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
/**
|
||||||
|
* L'interface <code>Interface</code>
|
||||||
|
*
|
||||||
|
* @version
|
||||||
|
* @author
|
||||||
|
* Date :
|
||||||
|
* Licence :
|
||||||
|
*/
|
||||||
|
public interface Interface {
|
||||||
|
//Méthodes
|
||||||
|
public void Action() ;
|
||||||
|
|
||||||
|
}
|
||||||
14
Modèles/Modèle Main.txt
Normal file
14
Modèles/Modèle Main.txt
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>Main</code>
|
||||||
|
*
|
||||||
|
* @version
|
||||||
|
* @author
|
||||||
|
* Date :
|
||||||
|
* Licence :
|
||||||
|
*/
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
36
README.md
36
README.md
@@ -0,0 +1,36 @@
|
|||||||
|
# BUT3 Projet Jeu Groupe
|
||||||
|
|
||||||
|
*Auteurs : AMARY Aurelien, DICK Adrien, FELIX-VIMALARATNAM Patrick, RABAN Hugo*
|
||||||
|
|
||||||
|
Date de création : 16/10/25
|
||||||
|
|
||||||
|
Le but est de mettre en oeuvre des jeux plus intéressants que le jeu de Nim, toujours en suivant l'API.
|
||||||
|
|
||||||
|
Dans un second temps, on fera des bots le plus efficace possible (probablement un alpha beta avec cut-off plus fonction d'évaluation qui peut être faite à la main ou par MonteCarlo).
|
||||||
|
|
||||||
|
Le jeu de notre groupe est **Avalam**.
|
||||||
|
|
||||||
|
## Présentation [Avalam](https://escaleajeux.fr/?principal=/jeu/avaxl?)
|
||||||
|
|
||||||
|
Sur un plateau de jeu, les joueurs disposent de 24 pions chacun. Le but est de créer de petites tours avec son pion de couleur au-dessus. Pour ce faire, chaque joueur déplace son pion sur une tour ou déplace une tour sur un autre pion. La personne ayant le plus de pions sur le dessus des tours gagne.
|
||||||
|
|
||||||
|
### Régles officiel :
|
||||||
|
**Régle de base** \
|
||||||
|
Chaque joueur choisit sa couleur.
|
||||||
|
Le but du jeu est de constituer un maximum de tours de 1 à 5 pions, jamais plus, surmontées par un pion de sa couleur.
|
||||||
|
Un joueur est le propriétaire d'une tour lorsqu'un pion de sa couleur en occupe le sommet. Un pion isolé constitue également une tour.
|
||||||
|
|
||||||
|
**Deplacements** \
|
||||||
|
Chaque joueur en effectue un seul, dans n'importe quel sens (horizontal, vertical, diagonal) avec n'importe quel pion (ou pile de pions), quelle qu'en soit la couleur. Ce mouvement consiste à empiler le ou les pions déplacés sur un trou directement voisin déjà occupé par un ou plusieurs pions.
|
||||||
|
|
||||||
|
**Mouvement interdit (1)** \
|
||||||
|
On déplace obligatoirement toute la pile se trouvant sur un trou (elle peut évidemment n'être constituée que d'un seul pion). Autrement dit, une pile de pions ne peut qu'augmenter, jamais diminuer.
|
||||||
|
|
||||||
|
**Mouvement interdit (2)** \
|
||||||
|
On ne peut jamais poser de pions sur un trou inoccupé: il le reste donc définitivement. Un pion (ou une tour) isolé de tous les cotés ne pourra donc plus changer de propriétaire.
|
||||||
|
|
||||||
|
**Fin de partie** \
|
||||||
|
Tans qu'un joueur peut effectuer un mouvement il a l'obligation de jouer, la partie ne s'achevant que lorque plus aucun déplacement n'est possible.
|
||||||
|
On compte alors combien de pions de chaque couleur occupent le sommet des tours restantes, le vainqueur étant évidemment celui qui en totalise le plus.
|
||||||
|
Attention! Qu'une tour comporte 1,2,... ou 5 pions, elle vaut toujours UN point.
|
||||||
|
|
||||||
|
|||||||
6
fr/iut_fbleau/Avalam/Color.java
Normal file
6
fr/iut_fbleau/Avalam/Color.java
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
package fr.iut_fbleau.Avalam ;
|
||||||
|
|
||||||
|
public enum Color{
|
||||||
|
RED,
|
||||||
|
YELLOW
|
||||||
|
}
|
||||||
41
fr/iut_fbleau/Avalam/Tower.java
Normal file
41
fr/iut_fbleau/Avalam/Tower.java
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package fr.iut_fbleau.Avalam ;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>Tower</code> stocke la couleur de son pion haut et la hauteur de la tour.
|
||||||
|
*
|
||||||
|
* @version 1.0
|
||||||
|
* @author Aurélien
|
||||||
|
* Date : 16-10-25 ; 16-10-25
|
||||||
|
* Licence :
|
||||||
|
*/
|
||||||
|
public class Tower {
|
||||||
|
//Attributs
|
||||||
|
private Color color ;
|
||||||
|
private byte height = 1 ;
|
||||||
|
|
||||||
|
//Constructeur
|
||||||
|
public Tower(Color color) {
|
||||||
|
this.color = color ;
|
||||||
|
}
|
||||||
|
//Méthodes
|
||||||
|
public Color getColor() {
|
||||||
|
return this.color ;
|
||||||
|
}
|
||||||
|
public byte getHeight() {
|
||||||
|
return this.height ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode qui empile une autre tour sur l'objet sur lequel le méthode est appelée.
|
||||||
|
* Aucune vérification de hauteur n'est effectuée.
|
||||||
|
*/
|
||||||
|
public void mergeTower(Tower tower) {
|
||||||
|
this.color = tower.getColor();
|
||||||
|
this.height += tower.getHeight();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Affichage
|
||||||
|
public String toString() {
|
||||||
|
return "" ;
|
||||||
|
}
|
||||||
|
}
|
||||||
28
fr/iut_fbleau/AvalamTests/TestTower.java
Normal file
28
fr/iut_fbleau/AvalamTests/TestTower.java
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
package fr.iut_fbleau.AvalamTests ;
|
||||||
|
|
||||||
|
import fr.iut_fbleau.Avalam.Tower ;
|
||||||
|
import fr.iut_fbleau.Avalam.Color ;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* La classe <code>TestPion</code>
|
||||||
|
*
|
||||||
|
* @version 1.0
|
||||||
|
* @author Aurélien
|
||||||
|
* Date : 16-10-25 ; 16-10-25
|
||||||
|
* Licence :
|
||||||
|
*/
|
||||||
|
public class TestTower {
|
||||||
|
public static void main(String[] args){
|
||||||
|
Tower t1 = new Tower(Color.RED);
|
||||||
|
Tower t2 = new Tower(Color.YELLOW);
|
||||||
|
|
||||||
|
System.out.println("Vérification données :");
|
||||||
|
System.out.println("RED = " + t1.getColor());
|
||||||
|
System.out.println("1 = " + t1.getHeight());
|
||||||
|
|
||||||
|
System.out.println("\nVérification empilement :");
|
||||||
|
t1.mergeTower(t2);
|
||||||
|
System.out.println("YELLOW = " + t1.getColor());
|
||||||
|
System.out.println("2 = " + t1.getHeight());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user