Bonjour
après avoir exécuté mon prg, Les 2 premiers mouvement marchent ( 0, 1 ), mais le 2 et 3 marchent pas,
quelqu'un peut m'aider svp
Entrez la ligne de votre pion:
Entrez la ligne de votre pion:
3
Entrez la colonne de votre pion:
3
Quel déplacement?
-0: en haut à gauche
-1: en haut à droite
-2: en bas à gauche
-3: en bas à droite
3

pouvez vous m'aider svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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...");
	  }
	}