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:
Msrc/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;