rendered paste body//two-player Xconnect FourX
import TerminalIO.*;//input and out put
import java.util.*;
public class game
{
public static void main(String [] args)
{
int turn=1;//counter to keep track of turns
KeyboardReader input=new KeyboardReader();//input
int board[][]=new int[6][7];//connect board
int p1=0;//player 1's input
int p2=0;//player 2's input
System.out.println("Connect four\n");
System.out.println("0 represents a blank space, 1 player 1, 2 player 2");
System.out.println("During game, enter 99 for new game, 66 to quit");
System.out.println("Hit any key to continue..");
input.pause();
while(p1!=66||p2!=66)
{
for(int r=0;r<board.length;r++)//print out matrices
{
System.out.print("\n");
for(int c=0;c<board[0].length;c++)
System.out.print(" "+board[r][c]+" ");
}
System.out.print("\n\n 1 2 3 4 5 6 7 column");
if(turn%2==1)//player 1's turn
{
//player 2 check for win////////////////////
for(int r=0;r<6;r++)//p2 check hor for win
for(int c=0;c<4;c++)
{
if(board[r][c]==2)
if(board[r][c+1]==2)
if(board[r][c+2]==2)
if(board[r][c+3]==2)
{
System.out.println("\n\nPLAYER 2 WINS!");
p2=input.readInt("66 to quit, 99 to restart: ");
}
}
for(int r=0;r<3;r++)//p2 check vert for win
for(int c=0;c<7;c++)
{
if(board[r][c]==2)
if(board[r+1][c]==2)
if(board[r+2][c]==2)
if(board[r+3][c]==2)
{
System.out.println("\n\nPLAYER 2 WINS!");
p2=input.readInt("66 to quit, 99 to restart: ");
}
}
for(int r=0;r<3;r++)//p2 check diagonal for win
for(int c=0;c<4;c++)
{
if(board[r][c]==2)
if(board[r+1][c+1]==2)
if(board[r+2][c+2]==2)
if(board[r+3][c+3]==2)
{
System.out.println("\n\nPLAYER 2 WINS!");
p2=input.readInt("66 to quit, 99 to restart: ");
}
}
//end of check////////////////
p1=input.readInt("\nPlayer one's turn, which column? ");
int r=5;
int check=1;
do
{
if(board[r][p1-1]==0)
{
board[r][p1-1]=1;
check=-1;
}
r--;
}while(check>0);
}
if(turn%2==0)//player 2's turn
{
//player 1 check for win////////////////////
for(int r=0;r<6;r++)//p1 check hor for win
for(int c=0;c<4;c++)
{
if(board[r][c]==1)
if(board[r][c+1]==1)
if(board[r][c+2]==1)
if(board[r][c+3]==1)
{
System.out.println("\n\nPLAYER 1 WINS!");
p1=input.readInt("66 to quit, 99 to restart: ");
}
}
for(int r=0;r<3;r++)//p1 check vert for win
for(int c=0;c<7;c++)
{
if(board[r][c]==1)
if(board[r+1][c]==1)
if(board[r+2][c]==1)
if(board[r+3][c]==1)
{
System.out.println("\n\nPLAYER 1 WINS!");
p1=input.readInt("66 to quit, 99 to restart: ");
}
}
for(int r=0;r<3;r++)//p1 check diagonal for win
for(int c=0;c<4;c++)
{
if(board[r][c]==1)
if(board[r+1][c+1]==1)
if(board[r+2][c+2]==1)
if(board[r+3][c+3]==1)
{
System.out.println("\n\nPLAYER 1 WINS!");
p1=input.readInt("66 to quit, 99 to restart: ");
}
}
//////////end of check/////////////
p2=input.readInt("\nPlayer two's turn, which column? ");
int r=5;
int check=1;
do
{
if(board[r][p2-1]==0)
{
board[r][p2-1]=2;
check=-1;
}
r--;
}while(check>0);
}
turn++;
}//end loop
}//end main
}//end file