aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorloic <git-account@loicguegan.fr>2016-09-22 22:14:50 +0200
committerloic <git-account@loicguegan.fr>2016-09-22 22:14:50 +0200
commit919746e58e22c4039ef2dd520b25054e791466c7 (patch)
tree76002cf4ca3f3eed5dd7cfa7c0d2395860cc8b28
parentcf931bc928fed780add07252f96c6dbb91b604ff (diff)
Add board bg
-rw-r--r--src/main/java/controller/MainWindowController.java19
-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
-rw-r--r--src/main/resources/JavafxView/MainWindow.fxml11
5 files changed, 40 insertions, 13 deletions
diff --git a/src/main/java/controller/MainWindowController.java b/src/main/java/controller/MainWindowController.java
index e92af36..36b0293 100644
--- a/src/main/java/controller/MainWindowController.java
+++ b/src/main/java/controller/MainWindowController.java
@@ -34,7 +34,7 @@ public class MainWindowController implements IObserver {
private int squareSize=100;
private int squarePadding=10;
- private int[] boardPosition={40,0};
+ private int[] boardPosition={30,0};
private int fontSize=60;
@@ -108,10 +108,14 @@ public class MainWindowController implements IObserver {
else{
this.score.setText("Score : " + this.model.getScore());
}
+ int[][] board=this.model.getBoard();
GraphicsContext gc = boardCanvas.getGraphicsContext2D();
gc.clearRect(0,0,500,500);
- int[][] board=this.model.getBoard();
+
+ gc.setFill(Color.rgb(187,173,160));
+ gc.fillRect(this.boardPosition[0],this.boardPosition[1], ((this.squareSize+squarePadding)*board.length)+squarePadding, ((this.squareSize+squarePadding)*board[0].length)+squarePadding);
+
@@ -162,14 +166,11 @@ public class MainWindowController implements IObserver {
int x=this.boardPosition[0] + (j*this.squareSize);
+ x+=(j+1)*squarePadding;
+
int y=this.boardPosition[1] + (i*this.squareSize);
+ y+=(i+1)*squarePadding;
- if(j>0){
- x+=j*squarePadding;
- }
- if(i>0){
- y+=i*squarePadding;
- }
gc.fillRect(x,y, this.squareSize, this.squareSize);
@@ -194,7 +195,7 @@ public class MainWindowController implements IObserver {
}
gc.setFont(new Font(localFontSize));
- gc.fillText(strValue, x + (this.squareSize / 2) - ((localFontSize/3)+strValue.length()*localFontSize/5) , y + (this.squareSize / 2) + (localFontSize /3));
+ gc.fillText(strValue, x + (this.squareSize / 2) - ((localFontSize/4)+strValue.length()*localFontSize/5) , y + (this.squareSize / 2) + (localFontSize /3));
}
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;
+ }
+
}
diff --git a/src/main/resources/JavafxView/MainWindow.fxml b/src/main/resources/JavafxView/MainWindow.fxml
index 5cf18e2..78354bf 100644
--- a/src/main/resources/JavafxView/MainWindow.fxml
+++ b/src/main/resources/JavafxView/MainWindow.fxml
@@ -8,13 +8,22 @@
<?import javafx.scene.canvas.Canvas?>
<BorderPane fx:controller="controller.MainWindowController"
- xmlns:fx="http://javafx.com/fxml" prefWidth="800" prefHeight="800">
+ xmlns:fx="http://javafx.com/fxml" prefWidth="800" prefHeight="800" >
<top>
+ <Text fx:id="score"/>
</top>
<center>
<Canvas fx:id="boardCanvas" height="500" width="500" />
</center>
+ <bottom>
+ <GridPane alignment="CENTER">
+ <padding><Insets top="25" right="25" bottom="50" left="25"/></padding>
+ <Button fx:id="restartButton" text="Restart" onAction="#restartGame" GridPane.rowIndex="0" GridPane.columnIndex="0"/>
+
+ </GridPane>
+
+ </bottom>
</BorderPane> \ No newline at end of file