Partage
  • Partager sur Facebook
  • Partager sur Twitter

Creation du jeu de Tetris

    19 octobre 2016 à 3:18:40

    salut s'il vous plait c est pour mon projet de cet anne et du coups on me demande cree le jeu de tetris en POO sans interface grafique et du coup voila le sujet:

    L’objectif est de programmer un ensemble de classes en Java pour realiser partiellement un jeu

    de Tetris en s’interessant tout particulierement au mouvement des pieces sur le plateau de jeu.

    Il n’est pas demande de realiser une interface graphique ni meme de gerer une interaction au

    clavier pour jouer effectivement une partie. Par contre, il faut ˆetre capable de gerer au moins les

    fonctionnalites suivantes :

    1. Cr´eer un plateau de jeu ;

    2. Cr´eer les differentes pieces du jeu et les placer aleatoirement en haut du plateau ;

    3. Deplacer les pieces vers la gauche, vers la droite ou vers le bas ;

    4. Detecter si une ligne est complete sur un plateau afin de la supprimer ;

    5. Detecter si une partie est finie ;

    6. Simuler une partie en tirant aleatoirement les pieces et leurs deplacements ;

    7. Afficher le contenu d’un plateau dans la console en mode texte.

    2 Programmation

    Le but est de proposer une solution dans le cadre de la programmation objet. Il est imperatif de

    structurer votre programme selon un ensemble de classes bien choisies. Dans ce but, les classes

    suivantes sont imposees (et vous pourrez en ajouter) :

    1. Une pi`ece est une instance de la classe Piece definie par un ensemble de cellules.

    2. Une cellule est une instance de la classe Cellule definie par des coordonnees entieres et

    un caractere (jouant le role de la couleur en mode graphique pour identifier les pieces).

    3. Un plateau est une instance de la classe Plateau representant une grille pouvant accueillir

    des pieces, chaque emplacement de la grille ´etant libre ou occup´e par une cellule.

    4. Une fabrique est une instance de la classe Fabrique qui cr´ee chacun des types de pi`eces

    du jeu de Tetris.

    De plus, les m´ethodes suivantes sont impos´ees (et vous pourrez en ajouter).

    Dans la classe Piece des m´ethodes de d´eplacement, chacune cr´eant une nouvelle pi`ece corres-

    pondant `a un mouvement de this (sans modifier this) :

    Piece versLeBas(); // d´eplacement de this vers le bas

    Piece versLaGauche(); // d´eplacement de this vers la gauche

    Piece versLaDroite(); // d´eplacement de this vers la droite

    1

    Dans la classe Plateau des m´ethodes de gestion des pi`eces :

    boolean accepter(Piece p); // teste si this peut recevoir p

    void retirer(Piece p); // retire p de this

    void ajouter(Piece p); // ajoute p dans this

    Ainsi, un mouvement d’une piece sur un plateau consiste `a creer une nouvelle piece correspondant

    `a ce mouvement (via les methodes de la classe Piece), `a tester si le plateau peut accepter la

    nouvelle pi`ece et si c’est le cas, `a retirer l’ancienne pi`ece puis ajouter la nouvelle.

    Dans la classe Fabrique les methodes de generation des pieces, par exemple :

    Piece creerCarre(); // retourne un bloc de 2x2 cellules

    Piece creerBatonVertical(); // retourne un baton vertical de 4 cellules

    Piece creerBatonHorizontal(); // retourne un baton horizontal de 4 cellules

    Avant de commencer a programmer, il faut bien sur reflechir `a la structure generale, quelques

    pistes etant proposees ci-apr`es :

    1. Se documenter sur le jeu de Tetris, les formes de pieces, etc.

    2. Comment repr´esenter une piece ? Comment reperer une pi`ece sur un plateau ? Comment

    tester si un emplacement est libre sur un plateau ?

    3. Comment generer une piece dans la fabrique, avec quelles coordonnees pour ses cellules ?

    4. Comment placer sur le plateau une piece cree par la fabrique (considerer aussi l’aspect

    aleatoire sachant que la piece peut ˆetre disposee n’importe ou en haut du plateau) ?

     et du coup je suis arrive jusqu'ici mais apres je plus d idee pour faire la class fabrique qui me premet de cree les piece s ils vous plait j ai besoin de quelque piste.

    public class Cellule{
    
    	private int x;   // ordonne du cellule en nombre de ligne
    	private int y;    // abscisse du cellule en nombre de collone	
    	private char color  ;
    	
    	public Cellule(int x, int y, char c){
    		this.x = x;
    		this.y = y;
    		this.color = c;
    	}
    	
    	// Accessesseur
    	public int getX() {
    		return x;
    	}
    	public int getY() {
    		return y;
    	}
    	
    	public char getcolor(){
    		return color;
    	}
    
    	// Modificateur
    	public void setX(int i) {
    		x = i;
    	}
    	public void setY(int i) {
    		y = i;
    	}
    	
    	public void setcolor(char color) {
    		this.color = color;
    	}
    	
    	
    }
    
    
    
    public class Piece{
    	
    	private Cellule[] cellule;
    
    	// x[] et y[] pour stocker mes coordonne de x et y
    	public Piece(int[] x, int[] y, char[] c){
    		
    		 for (int i = 0; i < 4; i++){
    		        this.cellule[i] = new Cellule(x[i], y[i], c[i]);
    		    }
    	}
    	
    
    }
    


    -
    Edité par Omarbacha 19 octobre 2016 à 3:26:43

    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2016 à 10:59:42

      Bonjour,

      Quelques pistes.

      Pour les cellules, x et y devraient représenter les coordonnées dans la pièce, pas dans le tableau. Ca te facilitera les rotations et les translations.

      Pour les pièces, il faudrait ajouter les coordonnées de la pièce et des méthodes deplacerGauche, deplacerDroite, pivoterGauche, pivoterDroite et descendre.

      C'est tout ce que j'ai comme idée pour l'instant.

      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2016 à 12:03:51

        je comprends pas bien et du coups j ai combien de tableau parce que moi je me referencier a chaque fois sur  mon plateau en gros mon tableau du jeu

        • Partager sur Facebook
        • Partager sur Twitter
          19 octobre 2016 à 15:22:59

          Un seul tableau.

          Par exemple, pour une pièce carrée, les cellules auront les coordonnées (0, 0), (0, 1), (1, 0) et (1, 1).

          Ensuite, admettons que ta pièce soit à la position (10, 5). Pour afficher la pièce, il te suffira d'afficher chaque cellule à (coordonnées pièce + coordonnées cellule).

          Ici, pour ce carré, ça donnerait (10, 5), (10, 6), (11, 5), (11, 6).

          L'avantage, c'est que pour déplacer la pièce, tu modifies juste ses coordonnées et pour la rotation, tu modifies juste celles des cellules.

          • Partager sur Facebook
          • Partager sur Twitter

          Creation du jeu de Tetris

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown