tryin to write Connect Four
Having some problems with my code (alot actually but heres just a little bit). Everytime I call a method from the Board class (board.gameOver() etc.) it complains and I'm not sure why. It says the method is undefind
import java.applet.*;
import java.awt.*;
import java.util.*;
publicclass GameDisplayextends Appletimplements MouseListener
{
Board board;
String turn,message;
publicvoid init()
{
board =new Board();
turn ="red";
message ="";
addMouseListener(this);
}
publicvoid mouseClicked (MouseEvent me)
{
Location loc =new Location(me.getX(),me.getY());
if(loc.isValid(board) && board.isEmpty(loc))
{
if(turn.equals("red"))
{
board.add(new Piece(turn,loc.row(),loc.col()));
update();
}
elseif(turn.equals("blue"))
{
board.add(new Piece(turn,me.row(),me.col()));
update();
}
}
if(!(board.gameOver().equals("nobody")))
{
message ="Game Over! The winner is " + board.gameOver();
update();
}
}
publicvoid mouseEntered (MouseEvent me){}
publicvoid mousePressed (MouseEvent me){}
publicvoid mouseReleased (MouseEvent me){}
publicvoid mouseExited (MouseEvent me){}
publicvoid update()
{
paint(g);
}
publicvoid paint(Graphics g)
{
for(int i=0;i<board.getPieces().size();i++)
{
Piece p = board.getPieces().get(i);
g.drawImage(p.display(), p.getXloc(), p.getYloc(),null);//getX and getY have to return where to draw the thing. which means in Piece I have to figure out where they go
}
g.drawImage(board.display(), 0, 0,null);
if(!(board.gameOver().equals("nobody")))
{
g.drawString(message,0,0);
//Wait a certain amount of time
init();//Reset game
}
}
}
import java.util.*;
publicclass Board
{
Image pic;
Piece[][] board =new Piece();//something
Tool t;
Arraylist pieces;
String winner;
boolean over;
int ct;
public Board()
{
t = Toolkit.getDefaultToolkit();
pic = t.getImage(fileName);
pieces =new ArrayList();
winner ="nobody";
over =false;
ct=1;
}
publicboolean isEmpty(Location l)
{
return hold[l.row()][l.col()]==null;
}
publicboolean isEmpty(int r,int c)
{
return hold[r][c]==null;
}
publicvoid add(Piece p)
{
board[p.getRow()][p.getCol()]=p;
pieces.add(p);
}
public Image display()
{
return pic;
}
public Arraylist getPieces()
{
return pieces;
}
public String gameOver()//find out if game is over...i may have to change plus and minus
{
for (int r=0;r<pieces.size();x++)//did red win
{
Piece p = redPieces.get(r);
int row = p.row();
int col = p.col();
while(row-1>=0 && !isEmpty(row-1,col) && hold[row-1][col].getColor().equals(hold[row][col].getColor()))
{
ct++;
row--;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
while(row+1<hold.length && !isEmpty(row+1,col) && hold[row+1][col].getColor().equals(hold[row][col].getColor()))
{
ct++;
row++;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
while(col-1>=0 && !isEmpty(row,col-1) && hold[row][col-1].getColor().equals(hold[row][col].getColor()))
{
ct++;
col--;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
while(col+1<hold.length && !isEmpty(row,col+1) && hold[row][col+1].getColor().equals(hold[row][col].getColor()))
{
ct++;
col++;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
while(row+1><hold.length&&col+1><hold.length && !isEmpty(row+1,col+1) && hold[row+1][col+1].getColor().equals(hold[row][col].getColor()))
{
ct++;
col++;
row++;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
while(row+1><hold.length&&col-1>=0 && !isEmpty(row+1,col-1) && hold[row+1][col-1].getColor().equals(hold[row][col].getColor()))
{
ct++;
col--;
row++;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
while(row-1>=0&&col-1>=0 && !isEmpty(row-1,col-1) && hold[row-1][col-1].getColor().equals(hold[row][col].getColor()))
{
ct++;
col--;
row--;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
while(row-1>=0&&col+1<hold.length && !isEmpty(row-1,col+1) && hold[row-1][col+1].getColor().equals(hold[row][col].getColor()))
{
ct++;
col++;
row--;
if(ct==4 && hold[row][col].getColor().equals("red"))
winner="red";
elseif(ct==4 && hold[row][col].getColor().equals("blue"))
winner="blue";
}
ct=1;
}
return winner;
}
}
>

