From 154c5311adda4fbbd507e4eb3a1f84b760d5cae0 Mon Sep 17 00:00:00 2001 From: Sailesh Date: Mon, 3 Apr 2017 14:22:16 -0400 Subject: [PATCH] Interface doesn't allow for variable declarations --- src/CheckersGameState3.java | 12 ++++++------ src/Move.java | 3 ++- src/Move3.java | 2 +- src/Test.java | 3 ++- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/CheckersGameState3.java b/src/CheckersGameState3.java index fe7956c..a078802 100644 --- a/src/CheckersGameState3.java +++ b/src/CheckersGameState3.java @@ -182,7 +182,7 @@ private void generate_moves(int origin, int delta1, int delta2, List moves } - private void calculate_jumps(String path, int[] b, int orig, int delta1, int delta2, List jumps, boolean king){ + private void calculate_jumps(String path, int[] b, int orig, int delta1, int delta2, List jumps, boolean king){ if(!any_jumps(orig, delta1, delta2, b, king)){ if(path.contains(",")){ jumps.add(new Move3(path)); @@ -226,16 +226,16 @@ private void calculate_jumps(String path, int[] b, int orig, int delta1, int del CheckersGameState3 result(Move x){ int[] newState = this.board.clone(); - newState[x.destination()] = this.board[x.origin()]; - newState[x.origin()] = 0; - if(x.destination < 4 && this.player == 2){ + newState[x.destination()] = this.board[x.source()]; + newState[x.source()] = 0; + if(x.destination() < 4 && this.player == 2){ newState[x.destination()] = 4; } else if(x.destination() > 30 && this.player == 1){ newState[x.destination()] = 3; } - if(x.kills() != null){ - for(int k: x.kills()){ + if(x.captures() != null){ + for(int k: x.captures()){ newState[k] = 0; } } diff --git a/src/Move.java b/src/Move.java index 07d5fa4..6f0e41b 100644 --- a/src/Move.java +++ b/src/Move.java @@ -1,6 +1,7 @@ public interface Move { - // Starting and ending Positions + public int source(); + public int destination(); // Returns a list of captured positions public int[] captures(); // Returns the string representation of a move diff --git a/src/Move3.java b/src/Move3.java index 8c3ce5f..6b13bbc 100644 --- a/src/Move3.java +++ b/src/Move3.java @@ -25,7 +25,7 @@ public int[] calculate_kills(String[] steps){ return k; } - public int origin(){ + public int source(){ return src; } diff --git a/src/Test.java b/src/Test.java index a4d760d..27e9925 100644 --- a/src/Test.java +++ b/src/Test.java @@ -22,7 +22,8 @@ public static void main(String[] args){ CheckersGameState3 s2 = new CheckersGameState3(1, b2); s2.printState(); - for(Move3 m: s2.actions()){ + s2.result(s2.actions().get(1)).printState(); + for(Move m: s2.actions()){ System.out.println(m); } }