aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/model
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/model')
-rw-r--r--src/main/java/model/Board.java12
-rw-r--r--src/main/java/model/IModel.java1
-rw-r--r--src/main/java/model/LineAlgorithm.java10
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;
+ }
+
}