Connect four
Hey i am writing a connect four program that uses a 2d array can some one help me understand the logic behind it?like how to write it i know that you are suppose to choose a column then they fill up from the bottom. This is what i have so far
import java.util.*;
import java.io.*;
import javax.swing.*;
class ConnectFour{
publicstaticvoid main (String args[]){
try{
int[][] ConnectFourArray =newint[6][7] ;
int[] column0={ConnectFourArray[0][0],ConnectFourArray[1][0],ConnectFourArray[2][0],ConnectFourArray[3][0],
ConnectFourArray[4][0],ConnectFourArray[5][0]};
int num1, num2;
BufferedReader stdin =new BufferedReader (new InputStreamReader(System.in));
String player1;
System.out.println ("What is your Name, player 1?");
player1 = stdin.readLine();
System.out.println ("Hey "+player1+" are you prepared to CONNECT FOUR");
System.out.println();
BufferedReader stdin2 =new BufferedReader (new InputStreamReader(System.in));
String player2;
System.out.println ("What is your Name, player 2?");
player2 = stdin2.readLine();
System.out.println ("Hey "+player2+" are you ready, its time to square off against "+player1);
for(int limit=21;limit!=0;limit--){
BufferedReader selecter =new BufferedReader (new InputStreamReader(System.in));
String column1;
System.out.println();
for (int row=0; row < ConnectFourArray.length; row++ ){
System.out.print("Row " + row +": ");
for (int col=0; col < ConnectFourArray[row].length; col++ )
System.out.print( ConnectFourArray[row][col] +" ");
System.out.println();
}
System.out.println();
System.out.println ("Please Select a column of 0 through 6, "+player1);
column1 = selecter.readLine();
num1= Integer.parseInt(column1);
System.out.println();
if (num1==0){
for (int i=5;i!=-1;i--){
int[] temp={1,0,0,0,0,0,0};
ConnectFourArray[i]=temp;
}
}
elseif (num1==1){
int[] temp={0,1,0,0,0,0,0};
ConnectFourArray[5]=temp;
}
elseif (num1==2){
int[] temp={0,0,1,0,0,0,0};
ConnectFourArray[5]=temp;
}
elseif (num1==3){
int[] temp={0,0,0,1,0,0,0};
ConnectFourArray[5]=temp;
}
elseif (num1==4){
int[] temp={0,0,0,0,1,0,0};
ConnectFourArray[5]=temp;
}
elseif (num1==5){
int[] temp={0,0,0,0,0,1,0};
ConnectFourArray[5]=temp;
}
elseif (num1==6){
int[] temp={0,0,0,0,0,0,1};
ConnectFourArray[5]=temp;
}
System.out.println();
/*for ( int row=0; row < ConnectFourArray.length; row++ ){
System.out.print(" ");
for ( int col=0; col < ConnectFourArray[row].length; col++ )
System.out.print( ConnectFourArray[row][col] + " ");
System.out.println();
}
for (int i=5;i<column0.length;i--){
System.out.println(column0[i]);
}*/}
System.out.println();
}
catch (Exception E){
System.out.println("Error with input");
}
}
}
>
[6215 byte] By [
link33333a] at [2007-11-26 14:42:53]

well i want the program to drop them in so i made a revision here is my code now. But I can only get one value per row because i can't figure out how to go up in each column i understand that i am just replacing the array and thats why i am getting what i am, but how do i fix that? whats the switch statement?
import java.util.*;
import java.io.*;
import javax.swing.*;
class ConnectFour{
public static void main (String args[]){
try{
int[][] ConnectFourArray = new int[6][7] ;
//int[] column0={ConnectFourArray[0][0],ConnectFourArray[1][0],ConnectFourArray[2][0],ConnectFourArray[3][0],
//ConnectFourArray[4][0],ConnectFourArray[5][0]};
int cup0,cup1,cup2,cup3,cup4,cup5,cup6;
cup0=5;cup1=5;cup2=5;cup3=5;cup4=5;cup5=5;cup6=5;
int num1, num2;
BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));
String player1;
System.out.println ("What is your Name, player 1?");
player1 = stdin.readLine();
System.out.println ("Hey "+player1+" are you prepared to CONNECT FOUR");
System.out.println();
BufferedReader stdin2 = new BufferedReader (new InputStreamReader(System.in));
String player2;
System.out.println ("What is your Name, player 2?");
player2 = stdin2.readLine();
System.out.println ("Hey "+player2+" are you ready, its time to square off against "+player1);
for(int limit=21;limit!=0;limit--){
BufferedReader selecter = new BufferedReader (new InputStreamReader(System.in));
String column1;
System.out.println();
for ( int row=0; row < ConnectFourArray.length; row++ ){
System.out.print("Row " + row + ": ");
for ( int col=0; col < ConnectFourArray[row].length; col++ )
System.out.print( ConnectFourArray[row][col] + " ");
System.out.println();
}
System.out.println();
System.out.println ("Please Select a column of 0 through 6, "+player1);
column1 = selecter.readLine();
num1= Integer.parseInt(column1);
System.out.println();
if (num1==0){
int[] temp={1,0,0,0,0,0,0};
ConnectFourArray[cup0]=temp;
cup0=cup0-1;
}
else if (num1==1){
int[] temp={0,1,0,0,0,0,0};
ConnectFourArray[cup1]=temp;
cup1=cup1-1;
}
else if (num1==2){
int[] temp={0,0,1,0,0,0,0};
ConnectFourArray[cup2]=temp;
cup2=cup2-1;
}
else if (num1==3){
int[] temp={0,0,0,1,0,0,0};
ConnectFourArray[cup3]=temp;
cup3=cup3-1;
}
else if (num1==4){
int[] temp={0,0,0,0,1,0,0};
ConnectFourArray[cup4]=temp;
cup4=cup4-1;
}
else if (num1==5){
int[] temp={0,0,0,0,0,1,0};
ConnectFourArray[cup5]=temp;
cup5=cup5-1;
}
else if (num1==6){
int[] temp={0,0,0,0,0,0,1};
ConnectFourArray[cup6]=temp;
cup6=cup6-1;
}
System.out.println();
/*for ( int row=0; row < ConnectFourArray.length; row++ ){
System.out.print(" ");
for ( int col=0; col < ConnectFourArray[row].length; col++ )
System.out.print( ConnectFourArray[row][col] + " ");
System.out.println();
}
for (int i=5;i<column0.length;i--){
System.out.println(column0[i]);
}*/
//increase=increase+1;
}
System.out.println();
}
catch (Exception E){
System.out.println("Error with input");
}
}
}
>