| Summary: | The object generation may lead to incorrect result at game ending judgement | ||
|---|---|---|---|
| Product: | CS3343 Chinese Checker | Reporter: | yutongmen2-c |
| Component: | Algorithm Component | Assignee: | yutongmen2-c |
| Status: | CONFIRMED --- | ||
| Severity: | minor | CC: | yutongmen2-c |
| Priority: | --- | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | All | ||
|
Description
yutongmen2-c
2021-11-18 00:00:43 HKT
Former implementation of method GameisEnd():
public static boolean GameisEnd(){
boolean isEnd = false;
if (Graph.getInstance().chessboard[0][0].equals(new Point(0,0,2)) &&
Graph.getInstance().chessboard[0][1].equals(new Point(0,1,2)) &&
Graph.getInstance().chessboard[0][2].equals(new Point(0,2,2)) &&
Graph.getInstance().chessboard[0][3].equals(new Point(0,3,2)) &&
Graph.getInstance().chessboard[1][0].equals(new Point(1,0,2)) &&
Graph.getInstance().chessboard[1][1].equals(new Point(1,1,2)) &&
Graph.getInstance().chessboard[1][2].equals(new Point(1,2,2)) &&
Graph.getInstance().chessboard[2][0].equals(new Point(2,0,2)) &&
Graph.getInstance().chessboard[2][1].equals(new Point(2,1,2)) &&
Graph.getInstance().chessboard[3][0].equals(new Point(3,0,2))
){
winner = 2;
return true;
}
else if(Graph.getInstance().chessboard[8][8].equals(new Point(8,8,1)) &&
Graph.getInstance().chessboard[8][7].equals(new Point(8,7,1)) &&
Graph.getInstance().chessboard[8][6].equals(new Point(8,6,1)) &&
Graph.getInstance().chessboard[8][5].equals(new Point(8,5,1)) &&
Graph.getInstance().chessboard[7][8].equals(new Point(7,8,1)) &&
Graph.getInstance().chessboard[7][7].equals(new Point(7,7,1)) &&
Graph.getInstance().chessboard[7][6].equals(new Point(7,6,1)) &&
Graph.getInstance().chessboard[6][8].equals(new Point(6,8,1)) &&
Graph.getInstance().chessboard[6][7].equals(new Point(6,7,1)) &&
Graph.getInstance().chessboard[5][8].equals(new Point(5,8,1))
){
winner = 1;
return true;
}
else{
return false;
}
}
Modified code:
public static boolean GameisEnd(){
// boolean isEnd = false;
if (Graph.getInstance().chessboard[0][0].equals(new Point(0,0,2)) &&
Graph.getInstance().chessboard[0][1].equals(new Point(0,1,2)) &&
Graph.getInstance().chessboard[0][2].equals(new Point(0,2,2)) &&
Graph.getInstance().chessboard[0][3].equals(new Point(0,3,2)) &&
Graph.getInstance().chessboard[1][0].equals(new Point(1,0,2)) &&
Graph.getInstance().chessboard[1][1].equals(new Point(1,1,2)) &&
Graph.getInstance().chessboard[1][2].equals(new Point(1,2,2)) &&
Graph.getInstance().chessboard[2][0].equals(new Point(2,0,2)) &&
Graph.getInstance().chessboard[2][1].equals(new Point(2,1,2)) &&
Graph.getInstance().chessboard[3][0].equals(new Point(3,0,2))
){
winner = 2;
return true;
}
else if(Graph.getInstance().chessboard[8][8].equals(new Point(8,8,1)) &&
Graph.getInstance().chessboard[8][7].equals(new Point(8,7,1)) &&
Graph.getInstance().chessboard[8][6].equals(new Point(8,6,1)) &&
Graph.getInstance().chessboard[8][5].equals(new Point(8,5,1)) &&
Graph.getInstance().chessboard[7][8].equals(new Point(7,8,1)) &&
Graph.getInstance().chessboard[7][7].equals(new Point(7,7,1)) &&
Graph.getInstance().chessboard[7][6].equals(new Point(7,6,1)) &&
Graph.getInstance().chessboard[6][8].equals(new Point(6,8,1)) &&
Graph.getInstance().chessboard[6][7].equals(new Point(6,7,1)) &&
Graph.getInstance().chessboard[5][8].equals(new Point(5,8,1))
){
winner = 1;
return true;
}
else{
return false;
}
}
|