import java.util.*; public class c4 { static final int ROWS = 7; static final int COLS = 8; static String grid[][] = new String[ROWS][COLS]; static String[] piece = {"_", "@", "#"}; static int player, turn, row, col; static boolean done; public static void main(String[] args) { init(); Scanner keybd = new Scanner(System.in); do{ do{ System.out.print("\nSelect a column [1 - 7], Player "+player+": "); col = keybd.nextInt(); }while(col < 1 || col > 7 || grid[1][col] == "@" || grid[1][col] == "#"); for(int r = 6; r >= 1; r--) { if(grid[r][col] == "_") { grid[r][col] = piece[player]; break; } } display(); done = ftw(); if (done) break; else if(player == 1) player = 2; else if (player == 2) player = 1; }while(!done); } public static void init() { done = false; player = 1; turn = 0; for(int r = 1; r < ROWS; r++) { for(int c = 1; c < COLS; c++) { grid[r][c] = piece[0]; } } } public static void display() { for(int r = 1; r < ROWS; r++) { System.out.println(); for(int c = 1; c < COLS; c++) { System.out.print("|"+grid[r][c]+"|"); } System.out.println(); } } public static boolean ftw() { //horizontal win for(int r = 6; r >= 1; r--) { for(int c = 1; c <= 4; c++) { if(grid[r][c] == grid[r][c+1] && grid[r][c+1] == grid[r][c+2] && grid[r][c+2] == grid[r][c+3] && grid[r][c] != "_") { System.out.println("Player "+player+" has wone the game!"); return true; } } } //vertical win for(int r = 6; r >= 1; r--) { for(int c = 1; c <= 4; c++) { if(grid[r][c] == grid[r-1][c] && grid[r-1][c] == grid[r-2][c] && grid[r-2][c] == grid[r-3][c] && grid[r][c] != "_") { System.out.println("Player "+player+" has wone the game!"); return true; } } } //diagonal win [left-to-right] for(int r = 6; r >= 1; r--) { for(int c = 1; c <= 4; c++) { if(grid[r][c] == grid[r-1][c+1] && grid[r-1][c+1] == grid[r-2][c+2] && grid[r-2][c+2] == grid[r-3][c+3] && grid[r][c] != "_") { System.out.println("Player "+player+" has wone the game!"); return true; } } } //diagonal win [right-to-left] /* for(int r = 1; r <= 6; r++) { for(int c = 1; c <= 4; c++) { if(grid[r][c] == grid[r+1][c+1] && grid[r+1][c+1] == grid[r+2][c+2] && grid[r+2][c+2] == grid[r+3][c+3] && grid[r][c] != "_") { System.out.println("Player "+player+" has wone the game!"); return true; } } } */ return false; } }