| Summary: | The object generation may lead to incorrect result at game ending judgement | ||
|---|---|---|---|
| Product: | 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 | ||
The object generation may lead to incorrect result at game ending judgement. 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; } }