From 72dcbcbf4fad2f49fdc61a6b3c756eda622613c3 Mon Sep 17 00:00:00 2001 From: Debucquoy Anthony Date: Wed, 3 May 2023 17:27:10 +0200 Subject: [PATCH] Adding Color to pieces (#31) Just adding a color field to pieces for drawing later Carefull when you review, I also moved Vec2 to Utils where I feel it belong. Solve #29 Co-authored-by: Anthony Debucquoy Reviewed-on: https://git.herisson.ovh/undefined_name/School_Project/pulls/31 Reviewed-by: Mat_02 --- app/src/main/java/school_project/Piece.java | 21 +++++++++++++++---- .../test/java/school_project/PieceTest.java | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/school_project/Piece.java b/app/src/main/java/school_project/Piece.java index 51df463..ac01953 100644 --- a/app/src/main/java/school_project/Piece.java +++ b/app/src/main/java/school_project/Piece.java @@ -1,5 +1,10 @@ package school_project; +import javafx.scene.paint.Color; +import javafx.scene.paint.Paint; + +import java.util.Random; + /** * Represent a Piece in the game. * Every Piece should be contained in a Map Object. @@ -10,13 +15,20 @@ public class Piece extends Shape{ private Vec2 Position; private Map linked_map; - - public Piece() { - super(); - } + private transient Paint color; // https://www.baeldung.com/java-transient-keyword public Piece(boolean[][] matrix) { super(matrix); + Random rand = new Random(); + color = new Color(rand.nextDouble(), rand.nextDouble(), rand.nextDouble(), 1); + } + + public void setColor(Paint p){ + color = p; + } + + public Paint getColor(){ + return color; } public Vec2 getPosition() { @@ -27,6 +39,7 @@ public class Piece extends Shape{ this.Position = position; } + /** * set the map the piece is into the the map argument * @param map map where to place the piece diff --git a/app/src/test/java/school_project/PieceTest.java b/app/src/test/java/school_project/PieceTest.java index e3adc2e..6e80749 100644 --- a/app/src/test/java/school_project/PieceTest.java +++ b/app/src/test/java/school_project/PieceTest.java @@ -36,7 +36,7 @@ class PieceTest { {true, false, true}, }; - Piece piece1 = new Piece(); + Piece piece1 = new Piece(piece2_matrix); piece1.setShape(piece1_matrix); Piece piece2 = new Piece(piece2_matrix);