Bonjour !

Je crée ce post en espérant trouver de l'aide ! En effet je suis actuellement entrain de programmer un petit puissance 4 pour un projet. Il n'y a rien de bien compliqué, il faut juste faire celui-ci dans le terminale (sans interface graphique donc), permettant de faire du 1v1 ou du 1vIA avec des rotations possibles. La plupart du boulot est fait, il ne me manque plus que les conditions de victoire.
J'ai déjà fait la victoire en vertical et horizontal, il n'y avait rien de bien compliqué, mais maintenant je suis bloqué pour la victoire en diagonale ! En effet je sais comment ça fonctionne dans la tête, mais chaque tentative que je fais en java ne fonctionne pas et se résout par un échec .
Un peu d'aide sera la bienvenue pour mon problème héhé

Je vais pas vous montrez tout le code, voici juste le sous-programme pour les conditions de victoire : (sans celle de diagonale qui me rend fou !!)
int i : ligne dans laquelle a été posé le dernier pion joué.
int j : colonne dans laquelle a été posé le dernier pion joué.
int pion : pion joué en fonction du joueur 1 ou 2.
char [][] tab : tableau à 2D qui représente la grille.

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
	public static void victoire (char [][] tab, int i, int j, int pion){
	int compte = 0;
	int di = i;
	int dj = j;
							/* TEST VERTICAL */
		i = 6;
		j = dj;
		while ((compte<4) && (i>=0)){
			if (tab[i][dj]==pion){
				compte ++;
				i --;
			}else{
				compte = 0;
				i --;
			}
		}
							/* TEST HORIZONTAL */
		i = di;
		j = 6;
		while ((compte<4) && (j>=0)){
			if (tab[di][j]==pion){
				compte ++;
				j --;
			}else{
				compte = 0;
				j --;
			}
		}
							/* VICTOIRE */
		if (joueur == 1){
			if (compte == 4){
				joueur = 3;
			}else{
				joueur = 2;
				jeton = jeton - 1;
			}
		}else{
			if (compte == 4){
				joueur = 4;
			}else{
				joueur = 1;
				jeton = jeton - 1;
			}
		}
	}