chessai
college code for ai playing chess in java
git clone https://9o.is/git/chessai.git
commit 7fb5a359a3652e07966f73b74bc8696d4f87e68c parent ec953ce2e13839fd253fa481fa7b4eee5d159ca9 Author: Jul <jul@9o.is> Date: Fri, 7 Dec 2012 18:20:16 -0500 Able to get surrounding coordinates of a coordinate. Diffstat:
| M | src/main/java/chess/ChessCoordinate.java | | | 31 | +++++++++++++++++++++++++++++++ |
1 file changed, 31 insertions(+), 0 deletions(-)
diff --git a/src/main/java/chess/ChessCoordinate.java b/src/main/java/chess/ChessCoordinate.java @@ -3,6 +3,9 @@ package chess; import chess.utils.ChessColor; import chess.utils.ChessDirection; +import java.util.ArrayList; +import java.util.List; + /** * Check */ @@ -139,6 +142,34 @@ public class ChessCoordinate { return new ChessCoordinate(file,rank); } + public List<ChessCoordinate> surroundingCoordinates(int d) { + List<ChessCoordinate> coors = new ArrayList<ChessCoordinate>(); + + coors.add(new ChessCoordinate(file+d,rank+d)); + coors.add(new ChessCoordinate(file+d,rank)); + coors.add(new ChessCoordinate(file+d,rank-d)); + coors.add(new ChessCoordinate(file,rank-d)); + coors.add(new ChessCoordinate(file-d,rank-d)); + coors.add(new ChessCoordinate(file-d,rank)); + coors.add(new ChessCoordinate(file-d,rank+d)); + coors.add(new ChessCoordinate(file,rank+d)); + + for(int i=0; i<coors.size(); i++) { + if(coors.get(i).invalid()) + coors.remove(i); + } + return coors; + } + + public List<ChessCoordinate> surroundingCoordinates(int d, int d1) { + List<ChessCoordinate> coors = new ArrayList<ChessCoordinate>(); + + for(int i=d; i<=d1; i++) { + coors.addAll(surroundingCoordinates(i)); + } + return coors; + } + public boolean invalid() { return file > 'h' || file < 'a' || rank > ChessCoordinate.MAX || rank < 1;