1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
import java.util.Scanner;
public class Divers3
{
public static void main(String[] args)
{
char reponse='O';
do
{
int i, j, posi, posj, i2, j2,dep = 0;
posi=0;
posj=0;
boolean correct,moveOk;
boolean[][] damier = new boolean [7][7];
int[][]mouv=new int [3][2];
//choix 0:pion en haut à droite
mouv[0][0]=-1;
mouv[0][1]=-1;
//choix 1:pion en haut à gauche
mouv[1][0]=-1;
mouv[1][1]=1;
//choix 2:pion en bas à gauche
mouv[2][0]=1;
mouv[2][1]=-1;
//choix 3:pion en bas à droite
//mouv[3][0]=1;
//mouv[3][1]=1;
//initialisation du damier; le pion n'est pour le moment nulle part
for(i=0;i<damier.length;i++)
{
for(j=0;j<damier.length;j++)
{
damier[i][j]=false;
}
}
//saisie de la coordonée en i (posi)avec contrôle de saisie
correct=false;
while(!correct)
{
System.out.println("Entrez la ligne de votre pion:");
Scanner sc=new Scanner(System.in);
posi=sc.nextInt();
if(posi>=0 && posi<=7)
{
correct=true;
}
}
//saisie de la coordonée en j (posj)avec contrôle de saisie
correct=false;
while(!correct)
{
System.out.println("Entrez la colonne de votre pion:");
Scanner sc=new Scanner(System.in);
posj=sc.nextInt();
if(posj>=0 && posj<=7)
{
correct=true;
}
}
//positionnement du pion sur le damier virtuel
damier[posi][posj]=true;
//saisie du déplacement, avec contrôle
System.out.println("Quel déplacement?");
System.out.println("-0: en haut à gauche");
System.out.println("-1: en haut à droite");
System.out.println("-2: en bas à gauche");
System.out.println("-3: en bas à droite");
correct=false;
while(!correct)
{
Scanner sc=new Scanner(System.in);
dep=sc.nextInt();
//if(dep>=0 && dep<=3)
//if(dep>=0 && dep<=2)
if(dep>=0 && dep<=1)
{
correct=true;
}
}
//i2 et j2 sont les futurs coordonnées du pion. La variable boooléene mouvOk vérifie la validité de ce futur emplavement
i2=posi+mouv[dep][0];
j2=posj+mouv[dep][1];
moveOk=i2>=0 && i2<=7 && j2>=0 && j2<=7;
//cas où le déplacement est valide
if(moveOk)
{
damier[posi][posj]=false;
damier[i2][j2]=true;
//affichage du nouveau damier
for(i=0;i<7;i++)
{
for(j=0;j<7;j++)
{
if(damier[i][j])
{
System.out.println("O");
}
else
{
System.out.println("X");
}
}
System.out.println("***");
}
}
else
{
//cas où le déplacement n'est pas valide
System.out.println("mouvement impossible");
}
System.out.println("Vous voulez reessayer(O/N):");
Scanner sc=new Scanner(System.in);
reponse=sc.nextLine().charAt(0);
}
while(reponse=='O');
System.out.println("Au revoir...");
}
} |
Partager