Class Jeu

java.lang.Object
   |
   +----Jeu

public class Jeu
extends Object
Noyau de Tetris.

Gere le déplacement des pièces, les tests de collision, etc...

Version:
Version 1.0 => Version de base mais alors de base...
Author:
Alamargot François & Buiguez Arnaud;

Variable Index

 o cps
Canvas sur l'affichage de la piece suivante.
 o enCours
Piece en cours de déplacement.
 o height
Hauteur en lignes du jeu.
 o in
Flux de lecture venant du 2ème joueur.
 o ligne
Nombre de lignes total effectuées pendant la partie.
 o ligneNiveau
Nombre de lignes relatif au niveau effectuées pendant la partie.
 o mat
Matrice du jeu.
 o niveau
Niveau en cours.
 o out
Flux d'écriture avec le 2ème joueur.
 o score
Score du jeu.
 o socket
Socket de communication avec le 2ème joueur.
 o suivante
Piece à venir.
 o userMatrix
Vecteur de matrice définissant les pieces creees par l'utilisateur.
 o width
Largeur en colonnes du jeu (10).

Constructor Index

 o Jeu(int, int, CanvasPieceSuivante)
Constructeur du jeu: On initialise les parametres.

Method Index

 o addPiece2Jeu(Piece)
Ajoute une pièce dans la matrice du jeu.
 o addUserPiece(Matrix)
Ajoute une piece utilisateur.
 o draw(Graphics)
Dessine la matrice du jeu dans le canvas.
 o dropLine(int)
Efface une ligne de la matrice du jeu (quand une ligne est complete).
 o getLigne()
Retourne le nombre de lignes effectuees depuis le debut de la partie..
 o getNiveau()
Retourne le niveau en cours.
 o getScore()
Retourne la valeur du score de la partie.
 o getSuivante()
Retourne la piece suivante de la partie.
 o isPositionPossible(Piece)
Teste et retourne si la position de la piece en mouvement dans la partie se trouve a une position correcte dans la matrice du jeu.
 o nextPiece()
Calcule est stocke la piece suivante de la partie.
 o nouveauJeu()
Reinitialise la partie.
 o play()
Methode principale du noyau.
 o setHandicap(int)
Genere un handicap dans le jeu.
 o setNiveau(int)
Change le niveau de la partie en cours.
 o setSocket(Socket, boolean)
Affecte le socket de communication et cree les flux d'entree et de sortie.
 o testKey(int)
Teste l'appui des touches de direction de manipulation de la piece en cours d'evolution.
 o testScore()
Teste si le score est une des meilleurs performances.
 o verifieLine()
Teste toutes les lignes de la matrice du jeu et supprimes toutes celles qui sont completes.

Variables

 o socket
 private Socket socket
Socket de communication avec le 2ème joueur.

 o in
 private DataInputStream in
Flux de lecture venant du 2ème joueur.

 o out
 private DataOutputStream out
Flux d'écriture avec le 2ème joueur.

 o width
 private int width
Largeur en colonnes du jeu (10).

 o height
 private int height
Hauteur en lignes du jeu. (20).

 o mat
 private int mat[][]
Matrice du jeu.

 o enCours
 private Piece enCours
Piece en cours de déplacement.

 o suivante
 private Piece suivante
Piece à venir.

 o score
 private int score
Score du jeu.

 o ligne
 private int ligne
Nombre de lignes total effectuées pendant la partie.

 o ligneNiveau
 private int ligneNiveau
Nombre de lignes relatif au niveau effectuées pendant la partie.

 o niveau
 private int niveau
Niveau en cours.

 o cps
 private CanvasPieceSuivante cps
Canvas sur l'affichage de la piece suivante.

 o userMatrix
 private Vector userMatrix
Vecteur de matrice définissant les pieces creees par l'utilisateur.

Constructors

 o Jeu
 public Jeu(int width,
            int height,
            CanvasPieceSuivante cps)
Constructeur du jeu: On initialise les parametres.

Parameters:
width - Largeur de la matrice du jeu (12, normalement).
height - Hauteur de la matrice du jeu (20, normalement).
cps - Canvas sur la piece suivante.

Methods

 o addPiece2Jeu
 public void addPiece2Jeu(Piece piece)
Ajoute une pièce dans la matrice du jeu. Cette piece perd son identite dans la matrice.

Parameters:
piece - Piece a ajouter.
 o addUserPiece
 public void addUserPiece(Matrix mat)
Ajoute une piece utilisateur.

Parameters:
mat - Matrice de la piece utilisateur.
 o draw
 public void draw(Graphics g)
Dessine la matrice du jeu dans le canvas.

Parameters:
g - Zone graphique courante de trace
 o dropLine
 public void dropLine(int numLine)
Efface une ligne de la matrice du jeu (quand une ligne est complete).

Parameters:
numLine - Numero de la ligne a effacer.
 o getLigne
 public int getLigne()
Retourne le nombre de lignes effectuees depuis le debut de la partie..

Returns:
Le nombre de lignes effectuees.
 o getNiveau
 public int getNiveau()
Retourne le niveau en cours.

Returns:
Numero du niveau en cours
 o getScore
 public int getScore()
Retourne la valeur du score de la partie.

Returns:
La valeur du score de la partie.
 o getSuivante
 public Piece getSuivante()
Retourne la piece suivante de la partie.

Returns:
La piece suivante.
 o isPositionPossible
 public boolean isPositionPossible(Piece piece)
Teste et retourne si la position de la piece en mouvement dans la partie se trouve a une position correcte dans la matrice du jeu.

Returns:
true si la position est valide ; false sinon.
 o nextPiece
 public void nextPiece()
Calcule est stocke la piece suivante de la partie. La piece suivante precedente devient la piece en cours.

 o nouveauJeu
 public void nouveauJeu()
Reinitialise la partie.

 o play
 public boolean play()
Methode principale du noyau. Gere l'evolution de la partie en cours.

Returns:
true si tout c'est bien passe ; false si la partie est terminee.
 o setHandicap
 public void setHandicap(int nbRangees)
Genere un handicap dans le jeu.

Parameters:
nbRangees - Nombre de lignes d'handicap a ajouter
 o setNiveau
 public void setNiveau(int niveau)
Change le niveau de la partie en cours.

Parameters:
niveau - Nouveau niveau de la partie
 o setSocket
 public void setSocket(Socket socket,
                       boolean prevenirLAutre)
Affecte le socket de communication et cree les flux d'entree et de sortie.

Si celui-ci est null, la communication avec le deuxième joueur n'est pas ou plus consideree.

Parameters:
socket - Socket de communication
prevenirLAutre - Booleen dans le cas ou l'on veut envoyer -1 (fin de partie) avant de fermer pour prevenir l'autre joueur que l'on va stopper la communication.
 o testKey
 public void testKey(int code)
Teste l'appui des touches de direction de manipulation de la piece en cours d'evolution.

Parameters:
code - Code de la touche passe par le KeyListener.
 o testScore
 public void testScore()
Teste si le score est une des meilleurs performances.

 o verifieLine
 public int verifieLine()
Teste toutes les lignes de la matrice du jeu et supprimes toutes celles qui sont completes.

Returns:
Retourne le nombre de lignes effacees.