connect 4 game project
alright, I'm new to java and this is my first major program. I realize it is not anywhere near complete yet. Please do not suggest other ways of doing my code, I know it's not the greatest way of doing it, but I don't care right now.
This is a shorterned version of my code, since my full code is a little long, this code is only for the first column.
Right now, what I'm having problems with is my Turn method, which is supposed to switch from red to blue every turn. It works sometimes but not all of the time.
Please ignore all the other problems I have with my code, right now I just need help with the turn method.
import java.awt.*;
import java.applet.*;
import java.util.*;
publicclass connect4_shortextends Applet
{
//width of the applet//
int width=850;
//height of the applet//
int height=655;
//width of the entire grid//
int gridwidth=600;
//height of the entire grid//
int gridheight=515;
//each cells width//
int col_Len=600/7;
//each cells height//
int col_Hei=515/6;
//top x of the board//
int board_TopX=55;
//top y of the board//
int board_TopY=50;
//the numner of chips on the board,
//also used to determine whose turn it is//
int chipCount=1;
//if chipColor is even, the color is red, if not
//the color is blue;
int chipColor=1;
int count;
//determines if you've won or lost//
boolean win=false;
int fillCell;
Rectangle
col1row1, col1row2,col1row3,col1row4,col1row5,col1row6,
col2row1, col2row2,col2row3,col2row4,col2row5,col2row6,
col3row1, col3row2,col3row3,col3row4,col3row5,col3row6,
col4row1, col4row2,col4row3,col4row4,col4row5,col4row6,
col5row1, col5row2,col5row3,col5row4,col5row5,col5row6,
col6row1, col6row2,col6row3,col6row4,col6row5,col6row6,
col7row1, col7row2,col7row3,col7row4,col7row5,col7row6;
publicvoid paint(Graphics g)
{
drawGrid(g,600,515);
g.setColor(Color.blue);
switch(chipColor)
{
case 1:
g.setColor(Color.red);
break;
case 2:
g.setColor(Color.blue);
break;
}
switch (fillCell)
{
case 1:
g.fillOval(55,50,col_Len,col_Hei);
chipCount++;
turn();
break;
case 2:
g.fillOval(55,50+col_Hei,col_Len,col_Hei);
chipCount++;
turn();
break;
case 3:
g.fillOval(55,50+col_Hei*2,col_Len,col_Hei);
chipCount++;
turn();
break;
case 4:
g.fillOval(55,50+col_Hei*3,col_Len,col_Hei);
turn();
chipCount++;
break;
case 5:
g.fillOval(55,50+col_Hei*4,col_Len,col_Hei);
chipCount++;
turn();
break;
case 6:
g.fillOval(55,50+col_Hei*5,col_Len,col_Hei);
chipCount++;
turn();
break;
}
}
publicvoid drawGrid(Graphics g,int boardWidth,int boardHeight)
{
g.setColor(Color.yellow);
g.fillRect(50,50,boardWidth,boardHeight);
g.setColor(Color.black);
g.drawRect(50,50,boardWidth,boardHeight);
//row1
for(int k=0;k<585;k+=col_Len)
{
g.setColor(Color.white);
g.fillOval(55+k,50,col_Len,col_Len);
g.setColor(Color.black);
g.drawOval(55+k,50,col_Len,col_Len);
}
//row2
for(int k=0;k<585;k+=col_Len)
{
g.setColor(Color.white);
g.fillOval(55+k,50+col_Len,col_Len,col_Len);
g.setColor(Color.black);
g.drawOval(55+k,50+col_Len,col_Len,col_Len);
}
//row3
for(int k=0;k<585;k+=col_Len)
{
g.setColor(Color.white);
g.fillOval(55+k,50+col_Len*2,col_Len,col_Len);
g.setColor(Color.black);
g.drawOval(55+k,50+col_Len*2,col_Len,col_Len);
}
//row4
for(int k=0;k<585;k+=col_Len)
{
g.setColor(Color.white);
g.fillOval(55+k,50+col_Len*3,col_Len,col_Len);
g.setColor(Color.black);
g.drawOval(55+k,50+col_Len*3,col_Len,col_Len);
}
//row5
for(int k=0;k<585;k+=col_Len)
{
g.setColor(Color.white);
g.fillOval(55+k,50+col_Len*4,col_Len,col_Len);
g.setColor(Color.black);
g.drawOval(55+k,50+col_Len*4,col_Len,col_Len);
}
//row6
for(int k=0;k<585;k+=col_Len)
{
g.setColor(Color.white);
g.fillOval(55+k,50+col_Len*5,col_Len,col_Len);
g.setColor(Color.black);
g.drawOval(55+k,50+col_Len*5,col_Len,col_Len);
}
}
publicvoid init()
{
///column 1///
col1row1 =new Rectangle(55,50,col_Len,col_Hei);
col1row2 =new Rectangle(55,50+col_Hei,col_Len,col_Hei);
col1row3 =new Rectangle(55,50+col_Hei*2,col_Len,col_Hei);
col1row4 =new Rectangle(55,50+col_Hei*3,col_Len,col_Hei);
col1row5 =new Rectangle(55,50+col_Hei*4,col_Len,col_Hei);
col1row6 =new Rectangle(55,50+col_Hei*5,col_Len,col_Hei);
}
publicboolean mouseDown(Event e,int x,int y)
{
//if((x>board_TopX)&(x<(board_TopX+gridwidth)))
////column 1///
if(col1row1.inside(x,y))
{
fillCell = 1;
count++;
}
elseif(col1row2.inside(x,y))
{
fillCell = 2;
count++;
}
elseif(col1row3.inside(x,y))
{
fillCell = 3;
count++;
}
elseif(col1row4.inside(x,y))
{
fillCell = 4;
count++;
}
elseif(col1row5.inside(x,y))
{
fillCell = 5;
count++;
}
elseif(col1row6.inside(x,y))
{
fillCell = 6;
count++;
}
repaint();
returntrue;
}
publicvoid turn()
{
if(chipCount<=42)
{
int rem=chipCount%2;
System.out.print("rem="+rem);
///if its an even number, its blue.
if(rem==0)
{
//blue
chipColor=2;
}
///if its odd, its red.
else
{
//red
chipColor=1;
}
}
else
{
System.out.print("0_0");
}
}
}

