aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/model/Board.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/model/Board.java')
-rw-r--r--src/main/java/model/Board.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/model/Board.java b/src/main/java/model/Board.java
index 8d1586d..87d8ef7 100644
--- a/src/main/java/model/Board.java
+++ b/src/main/java/model/Board.java
@@ -20,6 +20,8 @@ public class Board implements IModel{
}
public void goUp() {
+ int [][] lastBoard=this.getCloneOfBoard();
+
for(int i=0;i<this.board[0].length;i++){
int[] column=this.lineAlgorithm.reverseLine(this.getColumn(i));
@@ -28,30 +30,48 @@ public class Board implements IModel{
this.setColumn(this.lineAlgorithm.reverseLine(this.lineAlgorithm.mergeRight(column)), i);
}
+ if(!boardsIsEquals(this.board,lastBoard)){
+ this.addRandomNumber();
+ }
}
public void goDown() {
+ int [][] lastBoard=this.getCloneOfBoard();
+
for(int i=0;i<this.board[0].length;i++){
int[] column=this.getColumn(i);
this.setColumn(this.lineAlgorithm.mergeRight(column), i);
}
+ if(!boardsIsEquals(this.board,lastBoard)){
+ this.addRandomNumber();
+ }
}
public void goLeft() {
+ int [][] lastBoard=this.getCloneOfBoard();
+
for(int i=0;i<this.board.length;i++){
int[] tmp=this.lineAlgorithm.reverseLine(board[i]);
tmp=this.lineAlgorithm.mergeRight(tmp);
tmp=this.lineAlgorithm.reverseLine(tmp);
this.board[i]=tmp;
}
+ if(!boardsIsEquals(this.board,lastBoard)){
+ this.addRandomNumber();
+ }
}
public void goRight() {
+ int [][] lastBoard=this.getCloneOfBoard();
+
for(int i=0;i<this.board.length;i++){
this.board[i]=this.lineAlgorithm.mergeRight(board[i]);
}
+ if(!boardsIsEquals(this.board,lastBoard)){
+ this.addRandomNumber();
+ }
}