Class Labyrinthe

java.lang.Object
  |
  +--Labyrinthe

public class Labyrinthe
extends java.lang.Object

Classe qui cree un labyrinthe.

Version:
1.1.6
Author:
Cecile FRANCOU, Sophia GALLARDO
See Also:
Interaction

Field Summary
private  boolean ar
          Utile pour generer le labyrinthe : trouve dans le code qui genere le labyrinthe.
private  java.lang.String chemin_images
          chemin des images : il depend du decor choisit
private  java.awt.Color couleur_chemin
          couleur du chemin
private  int dx
          nombre de cases du labyrinthe dans le sens de la longueur
private  int dy
          nombre de cases du labyrinthe dans le sens de la hauteur
private  java.awt.Image image_mur
          image du "mur"
private  java.awt.Image image_sortie
          image de la sortie
private  Interaction interaction
          Interaction entre le labyrinthe, les joueurs et les decors
private  boolean inv
          Utile pour generer le labyrinthe : trouve dans le code qui genere le labyrinthe.
private  int[][] lab
          Tableau qui contient des 'O' pour les cases vides et des '1' pour les cases contenant un "mur".
private  java.util.Vector position_elements_du_jeu
          Vecteur qui contient les coordonnees de toutes les cases deja occupees par : la fille, le garcon, le gant et la sortie
private  Cell position_sortie
          Coordonnees de la sortie dans le labyrinthe
private  char px
          taille des sprites dans le sens de la longueur
private  char py
          taille des sprites dans le sens de la hauteur
private  java.awt.Toolkit toolkit_mur
          toolkit pour l'image du "mur"
private  java.awt.Toolkit toolkit_sortie
          toolkit pour l'image de la sortie
 
Constructor Summary
Labyrinthe(int nb_cases_x, int nb_cases_y, boolean inv, Interaction interaction)
          Cree un labyrinthe de longueur et de hauteur passees en parametre avec une sortie.
 
Method Summary
 Cell choix_position_lab()
          Retourne les coordonnees d'une case vide du labyrinthe et qui n'est pas un mur.
 void dessineToi(java.awt.Graphics g, int nbcases_x, int nbcases_y)
          Dessine le labyrinthe et la sortie dans la fenetre.
 boolean existe_t_il(Cell coordonnees)
          Indique si la case passee en parametre est libre ou pas.
 void genereParDFS()
          Genere un labyrinthe : alogorithme trouvee sur le Web.
 java.lang.String getChemin_image()
          Retourne le chemin des images selon le decor que les joueurs ont choisi.
 int getDX()
          Retourne la longueur du labyrinthe en nombre de cases.
 int getDY()
          Retourne la hauteur du labyrinthe en nombre de cases.
 java.util.Vector getPosition_elements_du_jeu()
          Retourne le vecteur qui contient les coordonnees de toutes les cases occupees par le garcon, la fille, le gant et la sortie.
 Cell getPosition_sortie()
          Retourne les coordonnees de la sortie.
 int getPX()
          Retourne la longueur du labyrinthe en pixels.
 int getPY()
          Retourne la hauteur du labyrinthe en pixels.
 int getVal(int x, int y)
          Retourne '1' si les coordonnees de la case passee en parametre correspondent a un mur ou a un chemin.
 boolean isAskedRepaint()
          Methode trouvee sur internet qui sert a generer le labyrinthe.
 boolean mur(int x, int y)
          Indique si il y a un "mur" dans la case dont les coordonnees sont passees en parametre.
 boolean murIntacts(Cell c)
          Indique si les murs sont intacts.
 void setAskedRepaint()
          Methode trouvee sur internet qui sert a generer le labyrinthe.
 void setChemin_image(java.lang.String chemin_images, java.awt.Color couleur_chemin)
          Modifie l'image du mur selon le decor du jeu choisit : traditionnel, montagnes, briques ou mer.
 void setDX(int dx)
          Modifie la longueur du labyrinthe en nombres de cases.
 void setDY(int dy)
          Modifie la hauteur du labyrinthe en nombres de cases.
 void setLabyrinthe()
          Initialise le labyrinthe : genere un nouveau labyrinthe.
 void setPosition_elements_du_jeu(java.util.Vector position_elements_du_jeu)
          Re_initialise le vecteur des elements du labyrinthe.
 void setPosition_sortie(Cell position_sortie)
          Initialise les coordonnees de la sortie.
 void setVal(int x, int y, int val)
          Modifie le contenu d'une case du tableau.
 void unSetAskedRepaint()
          Methode trouvee sur internet qui sert a generer le labyrinthe.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

px

private char px
taille des sprites dans le sens de la longueur

py

private char py
taille des sprites dans le sens de la hauteur

dx

private int dx
nombre de cases du labyrinthe dans le sens de la longueur

dy

private int dy
nombre de cases du labyrinthe dans le sens de la hauteur

lab

private int[][] lab
Tableau qui contient des 'O' pour les cases vides et des '1' pour les cases contenant un "mur".

inv

private boolean inv
Utile pour generer le labyrinthe : trouve dans le code qui genere le labyrinthe.

ar

private boolean ar
Utile pour generer le labyrinthe : trouve dans le code qui genere le labyrinthe.

position_sortie

private Cell position_sortie
Coordonnees de la sortie dans le labyrinthe

position_elements_du_jeu

private java.util.Vector position_elements_du_jeu
Vecteur qui contient les coordonnees de toutes les cases deja occupees par : la fille, le garcon, le gant et la sortie

interaction

private Interaction interaction
Interaction entre le labyrinthe, les joueurs et les decors

toolkit_sortie

private java.awt.Toolkit toolkit_sortie
toolkit pour l'image de la sortie

toolkit_mur

private java.awt.Toolkit toolkit_mur
toolkit pour l'image du "mur"

image_sortie

private java.awt.Image image_sortie
image de la sortie

image_mur

private java.awt.Image image_mur
image du "mur"

couleur_chemin

private java.awt.Color couleur_chemin
couleur du chemin

chemin_images

private java.lang.String chemin_images
chemin des images : il depend du decor choisit
Constructor Detail

Labyrinthe

public Labyrinthe(int nb_cases_x,
                  int nb_cases_y,
                  boolean inv,
                  Interaction interaction)
Cree un labyrinthe de longueur et de hauteur passees en parametre avec une sortie.
Parameters:
longueur - longueur du labyrinthe
hauteur - hauteur du labyrinthe
interaction - interaction entre le labyrinthe et les joueurs
inv - booleen necessaire a la generation du labyrinthe
Method Detail

setChemin_image

public void setChemin_image(java.lang.String chemin_images,
                            java.awt.Color couleur_chemin)
Modifie l'image du mur selon le decor du jeu choisit : traditionnel, montagnes, briques ou mer.
Parameters:
name_image - nom de l'image.
couleur_chemin - couleur du chemin
chemin_images - chemin des images

getChemin_image

public java.lang.String getChemin_image()
Retourne le chemin des images selon le decor que les joueurs ont choisi.
Returns:
String chemin des images

getPosition_elements_du_jeu

public java.util.Vector getPosition_elements_du_jeu()
Retourne le vecteur qui contient les coordonnees de toutes les cases occupees par le garcon, la fille, le gant et la sortie.
Returns:
Vector vecteur des positions.

setPosition_elements_du_jeu

public void setPosition_elements_du_jeu(java.util.Vector position_elements_du_jeu)
Re_initialise le vecteur des elements du labyrinthe.
Parameters:
position_elements_du_jeu - vecteur des positions.

setLabyrinthe

public void setLabyrinthe()
Initialise le labyrinthe : genere un nouveau labyrinthe.

existe_t_il

public boolean existe_t_il(Cell coordonnees)
Indique si la case passee en parametre est libre ou pas.
Parameters:
coordonnees - coordonnees d'une case.
Returns:
true : Les "coordonnees"(case) existe dans le vecteur
false : Les "coordonnees"(case) existe dans le vecteur

getPosition_sortie

public Cell getPosition_sortie()
Retourne les coordonnees de la sortie.
Returns:
Cell coordonnees de la sortie.

setPosition_sortie

public void setPosition_sortie(Cell position_sortie)
Initialise les coordonnees de la sortie.
Parameters:
position_sortie - coordonnees de la sortie.

getPX

public int getPX()
Retourne la longueur du labyrinthe en pixels.
Returns:
int longueur du labyrinthe.

getPY

public int getPY()
Retourne la hauteur du labyrinthe en pixels.
Returns:
int hauteur du labyrinthe.

setDX

public void setDX(int dx)
Modifie la longueur du labyrinthe en nombres de cases.
Parameters:
dx - longueur du labyrinthe.

setDY

public void setDY(int dy)
Modifie la hauteur du labyrinthe en nombres de cases.
Parameters:
dy - hauteur du labyrinthe.

getDX

public int getDX()
Retourne la longueur du labyrinthe en nombre de cases.
Returns:
int longueur du labyrinthe (en nombre de cases)

getDY

public int getDY()
Retourne la hauteur du labyrinthe en nombre de cases.
Returns:
int hauteur du labyrinthe (en nombre de cases)

choix_position_lab

public Cell choix_position_lab()
Retourne les coordonnees d'une case vide du labyrinthe et qui n'est pas un mur.
Returns:
Cell case libre

genereParDFS

public void genereParDFS()
Genere un labyrinthe : alogorithme trouvee sur le Web. Depth First Search algorithm http://www.mazeworks.com/mazetut/howto.htm

murIntacts

public boolean murIntacts(Cell c)
Indique si les murs sont intacts. Methode liee avec la methode qui genere le labyrinthe
Returns:
true : les murs sont intacts false : les murs ne sont pas intacts

getVal

public int getVal(int x,
                  int y)
Retourne '1' si les coordonnees de la case passee en parametre correspondent a un mur ou a un chemin. return 0 : si la case est vide
1 : si la case contient un "mur"
Parameters:
x - coordonnees en x
y - coordonnees en y

setVal

public void setVal(int x,
                   int y,
                   int val)
Modifie le contenu d'une case du tableau.
Parameters:
x - coordonnees en x
y - coordonnees en y
val - valeur de la case

isAskedRepaint

public boolean isAskedRepaint()
Methode trouvee sur internet qui sert a generer le labyrinthe.

setAskedRepaint

public void setAskedRepaint()
Methode trouvee sur internet qui sert a generer le labyrinthe.

unSetAskedRepaint

public void unSetAskedRepaint()
Methode trouvee sur internet qui sert a generer le labyrinthe.

mur

public boolean mur(int x,
                   int y)
Indique si il y a un "mur" dans la case dont les coordonnees sont passees en parametre.
Parameters:
x - coordonnees en x
y - coordonnees en y
Returns:
true : il y a un "mur" dans la case
false : la case est vide

dessineToi

public void dessineToi(java.awt.Graphics g,
                       int nbcases_x,
                       int nbcases_y)
Dessine le labyrinthe et la sortie dans la fenetre.
Parameters:
g - graphique
nb_cases_x - longueur du labyrinthe (en nombre de cases)
mn_cases_y - hauteur du labyrinthe (en nombre de cases)