update des classes

Tour.java: Méthode deplaçable
Echiquier, Roi, main, Piece: mise en page
This commit is contained in:
Anthony 2019-05-09 09:30:32 +02:00
parent 22a24e4493
commit d43f65fba0
5 changed files with 36 additions and 40 deletions

View File

@ -3,6 +3,7 @@ package piecesEchiquier;
import joueurs.Joueur; import joueurs.Joueur;
public class Echiquier { public class Echiquier {
private String[][] codes = private String[][] codes =
{ {
{"A8","B8","C8","D8","E8","F8","G8","H8"}, {"A8","B8","C8","D8","E8","F8","G8","H8"},
@ -67,8 +68,7 @@ public class Echiquier {
}; };
public Echiquier() public Echiquier() {
{
} }
@ -139,18 +139,8 @@ public class Echiquier {
return false; return false;
} }
} }
}while(( (getCodes()[i][j].equals(A)) == false) && (j+1 < codes.length)); }while(( (getCodes()[i][j].equals(A)) == false) && (j+1 < codes.length));
}while((getCodes()[i][j].equals(A) == false) && (i+1 < codes.length)); }while((getCodes()[i][j].equals(A) == false) && (i+1 < codes.length));
if (i == 9)
{
System.out.println("Code de la pièce a déplacer invalide. Recommencez.");
return false;
}
for (k = 0; k < codes.length;k++) for (k = 0; k < codes.length;k++)
{ {
@ -163,11 +153,11 @@ public class Echiquier {
return false; return false;
}else if (this.getEchiquier()[i][j].deplacable(this.getEchiquier()[k][l]) == false) }else if (this.getEchiquier()[i][j].deplacable(this.getEchiquier()[k][l]) == false)
{ {
System.out.println("Déplacement impossible. Recommencez."); System.out.println("D<EFBFBD>placement impossible. Recommencez.");
return false; return false;
}else }else
{ {
System.out.println("Choix validés. Déplacement en cours."); System.out.println("Choix validés. déplacement en cours.");
this.getEchiquier()[k][l] = this.getEchiquier()[i][j]; this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
this.getEchiquier()[i][j] = new Piece(new Position(i,j)); this.getEchiquier()[i][j] = new Piece(new Position(i,j));
return true; return true;
@ -179,4 +169,13 @@ public class Echiquier {
System.out.println("Un de vos codes est faux. Recommencez."); System.out.println("Un de vos codes est faux. Recommencez.");
return false; return false;
} }
public boolean estVide(Position position) {
int x = position.getX();
int y = position.getY();
if(this.echiquier[x][y].getLettre()=="..") {
return true;
}
return false;
}
} }

View File

@ -1,4 +1,3 @@
package piecesEchiquier; package piecesEchiquier;
public class Piece { public class Piece {
@ -35,7 +34,7 @@ public class Piece {
} }
/* //vérifie une éventuelle collision a chaque case /* //verifie une eventuelle collision a chaque case
public boolean collision(Case caseArrivee){ public boolean collision(Case caseArrivee){
return caseArrivee.estVide(); return caseArrivee.estVide();
}*/ }*/

View File

@ -21,19 +21,19 @@ public class Tour extends Piece {
return verif; return verif;
} }
public boolean[][] deplacementsPossibles() { public boolean[][] deplacable(Echiquier e,Piece p) {
boolean[][] deplacementsPossibles = new boolean[8][8]; boolean[][] deplacementsInherentsPiece = new boolean[8][8];
Position position = this.getPosition(); Position position = this.getPosition();
int x = position.getX(); int x = position.getX();
int y = position.getY(); int y = position.getY();
for(int i=x; i<8; i++) { for(int i=x; i<8; i++) {
//if(echiquier.estVide(position)) deplacementsInherentsPiece[i][y]=true;
deplacementsPossibles[i][y]=true;
} }
for(int j=0; j<8; j++) { for(int j=0; j<8; j++) {
deplacementsPossibles[x][j]=true; deplacementsInherentsPiece[x][j]=true;
} }
deplacementsPossibles[x][y]=false; deplacementsInherentsPiece[x][y]=false;
return deplacementsPossibles; return deplacementsInherentsPiece;
} }
} }

View File

@ -1,17 +1,15 @@
package visuel; package visuel;
// sert pour recup input clavier // sert pour recup input clavier
import java.util.Scanner; //a voir si on fait une classe 'leScan' pour gérer le scan du clavier plus simplement import java.util.Scanner;
import joueurs.Joueur; import joueurs.Joueur;
import piecesEchiquier.Echiquier; import piecesEchiquier.Echiquier;
public class main { public class Main {
// public main (String[] args) { //EVENTUELLEMENT SOLUTION POSSIBLE AVEC FORCE RETURN
public static void main (String[] args) { public static void main (String[] args) {
//ouvre une porte pour input //ouvre une porte pour input
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
@ -20,8 +18,8 @@ public class main {
// joueurs APRES ON DEMANDERA NOM // joueurs APRES ON DEMANDERA NOM
Joueur j1 = new Joueur("Personne A","Blanc"); Joueur j1 = new Joueur("Manon","Blanc");
Joueur j2 = new Joueur("Personne B","Noir"); Joueur j2 = new Joueur("Autre","Noir");
// vars pour deplacer // vars pour deplacer
@ -30,7 +28,7 @@ public class main {
System.out.println("Bienvenue dans le jeu e-Chesstria ! Le jeu d'echec sur console fait en java !\n"); System.out.println("Bienvenue dans ce jeu d'echec sur console !\n");
Echiquier e = new Echiquier(); Echiquier e = new Echiquier();
do { do {
@ -44,9 +42,9 @@ public class main {
do { do {
System.out.println("Quelle pièce voulez vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); System.out.println("Quelle pi<EFBFBD>ce voulez vous d<>placer ? Donnez le code correspondant <20> la pi<70>ce <20> d<>placer(ex : A1).\n");
A = sc.nextLine(); A = sc.nextLine();
System.out.println("A quel endroit la poser ? Donnez le code correspondant de l'endroit où poser la pièce.\n"); System.out.println("A quel endroit la poser ? Donnez le code correspondant <EFBFBD> l'endroit o<> poser la pi<70>ce.\n");
B = sc.nextLine(); B = sc.nextLine();
}while (e.VerifFinale(j1, A,B) != true); }while (e.VerifFinale(j1, A,B) != true);
@ -60,12 +58,12 @@ public class main {
System.out.println("Tour de"+j2.getNom()+"\n"); System.out.println("Tour de"+j2.getNom()+"\n");
do { do {
System.out.println("Quelle pièce voulez vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); System.out.println("Quelle pi<EFBFBD>ce voulez vous d<>placer ? Donnez le code correspondant <20> la pi<70>ce <20> d<>placer(ex : A1).\n");
//entrer coordonn<EFBFBD>es piece a bouger APRES ON PASSERA PAR DIRECT COMBINAISON LETTRE-CHIFFRE //entrer coordonn<EFBFBD>es piece a bouger APRES ON PASSERA PAR DIRECT COMBINAISON LETTRE-CHIFFRE
A = sc.nextLine(); A = sc.nextLine();
System.out.println("A quel endroit la poser ? Donnez le code correspondant de l'endroit où poser la pièce.\n"); System.out.println("A quel endroit la poser ? Donnez le code correspondant <EFBFBD> l'endroit o<> poser la pi<70>ce.\n");
//entrer coordonn<EFBFBD>es endroit vis<EFBFBD> APRES ON PASSERA PAR DIRECT COMBINAISON LETTRE-CHIFFRE //entrer coordonn<EFBFBD>es endroit vis<EFBFBD> APRES ON PASSERA PAR DIRECT COMBINAISON LETTRE-CHIFFRE
B = sc.nextLine(); B = sc.nextLine();