Cette fois, j'ai joué avec gravité sur la console!
Cela fonctionne comme ça.

Puisque je l'ai fait pour le plaisir, il peut y avoir des omissions dans la partie du jugement, mais à l'avenir, je vais apporter des améliorations telles que l'ajout de batailles de CPU basées sur cela. À propos de l'arrangement à quatre yeux avec gravité
wiki https://ja.wikipedia.org/wiki/%E5%9B%9B%E7%9B%AE%E4%B8%A6%E3%81%B9
· Windows 7 · Java 8 · Éclipse
Je vais vous présenter la source de cette époque.
ConnectFour.java
package connect.main;
import java.util.Random;
import java.util.Scanner;
public class ConnectFour {
	public static void main(String[] args) {
		System.out.println("Commencez à organiser quatre yeux avec gravité");
		// 0:player1 1:player2
		int player = 0;
		Random random = new Random();
		int turn = 0;
		int[][] bord = new int[6][7];
		int i;
		//Initialisation de la carte(-1)
		for(i = 0; i < 6; i++) {
			for(int j = 0; j < 7; j++) {
				bord[i][j] = -1;
			}
		}
		// 0 || 1
		player = random.nextInt(2);
		Scanner scan = new Scanner(System.in);
		scan.useDelimiter(System.lineSeparator());
		while(true) {
			System.out.println();
			printPlayer(player);
			//Sortie de la carte vers la console
			printBord(bord);
			//Dessiner quand le plateau est plein
			if(turn >= 42) {
				System.out.println("dessiner");
				break;
			}
			//Saisie et validation depuis la console
			System.out.println("nombre(0~6)Entrez s'il vous plait.");
			String line = scan.next();
			if(line.trim().length() == 0 || line.trim().length() > 1) {
				System.out.println("L'entrée n'est pas valide.");
				continue;
			}
			if(!Character.isDigit(line.charAt(0))) {
				System.out.println("L'entrée n'est pas valide.");
				continue;
			}
			int num = Integer.parseInt(line);
			if(num < 0 || num > 6) {
				System.out.println("L'entrée n'est pas valide.");
				continue;
			}
			for(i = 0; i < 6; i++) {
				if(bord[i][num] == -1) {
					bord[i][num] = player;
					break;
				}
			}
			if(i >= 6) {
				System.out.println("[ " + num + "]Je ne peux plus en mettre.");
				continue;
			}
			if(isWin(bord, i , num, player)) {
				System.out.println();
				printBord(bord);
				System.out.println((player == 0 ? "player1[○]":"player2[×]")+"Victoires!!");
				break;
			}
			player = (player * -1) + 1;
			turn++;
		}
		scan.close();
		System.out.println("Fin");
	}
	public static void printPlayer(int player) {
		switch(player){
		case 0:
			System.out.println("player1[○]C'est ton tour.");
			break;
		case 1:
			System.out.println("player2[×]C'est ton tour.");
			break;
		default:
			System.out.println("Erreur");
			return;
		}
	}
	public static void printBord(int[][] bord) {
		for(int j = 0; j < 7; j++) {
			if(j == 6) {
				System.out.println("[ " + j + "]");
			}else {
				System.out.print("[ " + j + "]");
			}
		}
		for(int i = 5; i >= 0; i--) {
			for(int j = 0; j < 7; j++) {
				String a = "";
				a = (bord[i][j] == 0) ? "[○]" : (bord[i][j] == 1) ? "[×]" : "[  ]";
				if(j == 6) {
					System.out.println(a);
				}else {
					System.out.print(a);
				}
			}
		}
	}
	public static boolean isWin(int[][] bord, int i, int j, int player) {
		int yoko = 1;// -
		int tate = 1;// |
		int sura = 1;// /
		int back = 1;// \
		int y = i;
		int x = j;
		//Contrôle latéral(droite)
		while(x < 6) {
			if(bord[i][x+1] == player) {
				yoko++;
			}else {
				break;
			}
			x++;
		}
		x = j;
		//Contrôle latéral(la gauche)
		while(x > 0) {
			if(bord[i][x-1] == player) {
				yoko++;
			}else {
				break;
			}
			x--;
		}
		if(yoko >= 4) {
			return true;
		}
		//Contrôle vertical(Vers le haut)
		while(y < 5) {
			if(bord[y+1][j] == player) {
				tate++;
			}else {
				break;
			}
			y++;
		}
		y = i;
		//Contrôle vertical(en dessous de)
		while(y > 0) {
			if(bord[y-1][j] == player) {
				tate++;
			}else {
				break;
			}
			y--;
		}
		if(tate >= 4) {
			return true;
		}
		y = i;
		x = j;
		// /Vérification de la direction(Vers le haut)
		while(y < 5 && x < 6) {
			if(bord[y+1][x+1] == player) {
				sura++;
			}else {
				break;
			}
			y++;
			x++;
		}
		y = i;
		x = j;
		// /Vérification de la direction(en dessous de)
		while(y > 0 && x > 0) {
			if(bord[y-1][x-1] == player) {
				sura++;
			}else {
				break;
			}
			y--;
			x--;
		}
		if(sura >= 4) {
			return true;
		}
		y = i;
		x = j;
		// \Vérification de la direction(Vers le haut)
		while(y < 5 && x > 0) {
			if(bord[y+1][x-1] == player) {
				back++;
			}else {
				break;
			}
			y++;
			x--;
		}
		y = i;
		x = j;
		// \Vérification de la direction(en dessous de)
		while(y > 0 && x < 6) {
			if(bord[y-1][x+1] == player) {
				back++;
			}else {
				break;
			}
			y--;
			x++;
		}
		if(back >= 4) {
			return true;
		}
		return false;
	}
}
C'est tout pour la source! Pour expliquer brièvement le flux global,
Jugez dans le sens haut / bas / gauche / droite, barre oblique et barre oblique arrière à partir de la pièce que vous avez placée.
tate = 1; yoko = 1; sura = 1; back = 1;
Boucle pour chacune des conditions suivantes
① Si la direction est la pièce du joueur vue de la position actuelle tate++; Boucle en décalant la position actuelle dans la direction ↑ S'ils sont différents, ils ne seront pas continus, donc la boucle se termine
② Si la direction est la pièce du joueur vue de la position actuelle tate++; Boucle en décalant la position actuelle dans la direction ↓ S'ils sont différents, ils ne seront pas continus, donc la boucle se termine
Les résultats de ① et ② sont tate = Nombre de pièces continues dans le sens ↑ + Nombre de pièces continues dans le sens ↓ + 1 (valeur initiale); Sera le même que.
Lorsqu'il est appliqué dans la direction ← → ↙↗↖↘ de la même manière que ① et ② yoko = ← + → + 1; sura = ↙ + ↗ + 1; back = ↖ + ↘ + 1; Est obtenu.
Si l'un d'entre eux remplit la condition> = 4, le joueur actuel gagne
Le point à noter est de définir chaque variable sur la valeur initiale 1 et de voir la cellule suivante à partir de la position actuelle sous la condition de boucle. Si vous jugez par la position actuelle, les points de référence se chevaucheront. (Si la valeur initiale est 0 et la valeur finale -1, il n'y a pas de problème avec le point de référence.) Exemple: Regardons [3] [3] comme point de référence (Jugement à la hausse) Incrément parce que la position actuelle [3] [3] est le joueur Déplacer vers le haut et position actuelle [4] [3] ... (Jugement à la baisse) Incrément parce que la position actuelle [3] [3] est le joueur Déplacer vers le bas et position actuelle [2] [3] ...
Il sera couvert à la position actuelle [3] [3].
Vous devriez pouvoir jouer immédiatement si vous copiez et collez! Il y a eu une vague de petit boom depuis que j'ai joué avec la ligne à quatre yeux avec gravité quand j'étais étudiant (rires) S'il vous plaît jouer en tuant le temps!