diff options
Diffstat (limited to 'src/main/java/model')
| -rw-r--r-- | src/main/java/model/Board.java | 12 | ||||
| -rw-r--r-- | src/main/java/model/IModel.java | 1 | ||||
| -rw-r--r-- | src/main/java/model/LineAlgorithm.java | 10 |
3 files changed, 20 insertions, 3 deletions
diff --git a/src/main/java/model/Board.java b/src/main/java/model/Board.java index 87d8ef7..4d8f9b8 100644 --- a/src/main/java/model/Board.java +++ b/src/main/java/model/Board.java @@ -11,7 +11,8 @@ public class Board implements IModel{ private int[][] board; private Random rand = new Random(); - private LineAlgorithm lineAlgorithm; + private LineAlgorithm lineAlgorithm=new LineAlgorithm(); + public Board(int sizeX, int sizeY){ @@ -111,7 +112,7 @@ public class Board implements IModel{ index=rand.nextInt(choices.size()-1 +1) + 0; } Integer[] xy=(Integer[])choices.toArray()[index]; - int twoOrFour=rand.nextInt(3-0 +1) + 0; + int twoOrFour=rand.nextInt(5-0 +1) + 0; switch (twoOrFour){ case 0: this.board[xy[0]][xy[1]]=4; @@ -141,6 +142,11 @@ public class Board implements IModel{ return this.getCloneOfBoard(); } + @Override + public int getScore() { + return this.lineAlgorithm.getScore(); + } + public boolean isLoosed() { int[][] copyBoard=this.getCloneOfBoard(); @@ -164,6 +170,8 @@ public class Board implements IModel{ } + + private int[][] getCloneOfBoard(){ int[][] copyBoard=new int[this.board.length][this.board[0].length]; for(int i=0;i<this.board.length;i++){ diff --git a/src/main/java/model/IModel.java b/src/main/java/model/IModel.java index 4db2146..6e0a076 100644 --- a/src/main/java/model/IModel.java +++ b/src/main/java/model/IModel.java @@ -5,4 +5,5 @@ package model; */ public interface IModel { int[][] getBoard(); + int getScore(); } diff --git a/src/main/java/model/LineAlgorithm.java b/src/main/java/model/LineAlgorithm.java index 024db5c..0d0364b 100644 --- a/src/main/java/model/LineAlgorithm.java +++ b/src/main/java/model/LineAlgorithm.java @@ -7,7 +7,9 @@ public class LineAlgorithm { - public static int[] mergeRight(int[] line){ + private int score=0; + + public int[] mergeRight(int[] line){ line=gravityRight(line); @@ -19,6 +21,7 @@ public class LineAlgorithm { line[i]=a+b; line[i-1]=-1; i--; + this.score+=(a+b); } } } @@ -88,4 +91,9 @@ public class LineAlgorithm { System.out.println("\n----------"); } + + public int getScore() { + return score; + } + } |
