diff --git a/JavaFX.iml b/JavaFX.iml
index e9d74f2..ec5c9ee 100644
--- a/JavaFX.iml
+++ b/JavaFX.iml
@@ -32,5 +32,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index fc399da..2745552 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,6 @@
maven-compiler-plugin
RELEASE
-
1.8
diff --git a/src/main/java/nl/minkema/leendert/Game.java b/src/main/java/nl/minkema/leendert/Game.java
new file mode 100644
index 0000000..b8d270d
--- /dev/null
+++ b/src/main/java/nl/minkema/leendert/Game.java
@@ -0,0 +1,11 @@
+package nl.minkema.leendert;
+
+import javafx.scene.Group;
+
+/**
+ * @author J0QUE
+ * @version 1.0
+ */
+public class Game extends Group {
+
+}
diff --git a/src/main/java/nl/minkema/leendert/Main.java b/src/main/java/nl/minkema/leendert/Main.java
index d2d4e2b..b617045 100644
--- a/src/main/java/nl/minkema/leendert/Main.java
+++ b/src/main/java/nl/minkema/leendert/Main.java
@@ -8,6 +8,10 @@ import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
+/**
+ * @author J0QUE
+ * @version 1.0
+ */
public class Main extends Application {
public static Scene scene;
diff --git a/src/main/java/nl/minkema/leendert/Menu.java b/src/main/java/nl/minkema/leendert/Menu.java
index 9ad5d80..3edf602 100644
--- a/src/main/java/nl/minkema/leendert/Menu.java
+++ b/src/main/java/nl/minkema/leendert/Menu.java
@@ -1,21 +1,41 @@
package nl.minkema.leendert;
+import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Node;
+import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
+import javafx.scene.input.MouseEvent;
+import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
+import javafx.scene.paint.Color;
+import javafx.scene.paint.Paint;
+import javafx.scene.shape.Rectangle;
+import javafx.scene.text.Text;
+import javafx.scene.text.TextBoundsType;
+import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.util.ArrayList;
+import java.util.Random;
/**
- * Created by jpdej on 23-2-2017.
+ * @author J0QUE
+ * @version 1.0
*/
public class Menu extends Group {
- public Menu() throws URISyntaxException {
+ public static ArrayList playerColors = new ArrayList<>();
+
+ public Menu() throws URISyntaxException, MalformedURLException {
+ while(playerColors.size()<21) {
+ Color c = getRandomColor();
+ if (!playerColors.contains(c)) {
+ playerColors.add(c);
+ }
+ }
ArrayList nodes = new ArrayList<>();
Image bg = new Image("https://s-media-cache-ak0.pinimg.com/originals/56/b2/3e/56b23e286dc03db415db7af75d15d58a.jpg");
ImageView view = new ImageView(bg);
@@ -24,14 +44,76 @@ public class Menu extends Group {
view.setY(0);
view.setFitHeight(900);
view.setPreserveRatio(true);
- String loc = this.getClass().getResource("/music/menu.wav").toString();
+ String loc = this.getClass().getResource("/music/menu.mp4").toString();
+ //loc = new File("menu.mp4").toURI().toURL().toString();
System.out.println(loc);
Media music = new Media(loc);
+
MediaPlayer menuplayer = new MediaPlayer(music);
menuplayer.setCycleCount(Integer.MAX_VALUE);
+ menuplayer.setVolume(0.6f);
menuplayer.setAutoPlay(true);
+ menuplayer.play();
+ menuplayer.play();
nodes.add(view);
+ nodes.add(createButton("2 players", 100, 100, event -> {
+ System.out.println("2 players");
+ }));
+ nodes.add(createButton("3 players", 100, 150, event -> System.out.println("3 players")));
getChildren().addAll(nodes);
+ playerColors.forEach(System.out::println);
+ }
+
+ public static StackPane createButton(String string, double x, double y, EventHandler onClick) {
+ Text text = createText(string);
+ Rectangle rectangle = rectangulate(text);
+ StackPane pane = new StackPane(rectangle, text);
+ pane.setOnMouseClicked(onClick);
+ pane.setLayoutX(x);
+ pane.setLayoutY(y);
+ return pane;
+ }
+
+ private static Text createText(String string) {
+ Text text = new Text(string);
+ text.setBoundsType(TextBoundsType.VISUAL);
+ text.setStyle(
+ "-fx-font-family: \"Arial\";" +
+ //"-fx-font-style: normal;" +
+ "-fx-font-size: 24px;"
+ );
+
+ return text;
+ }
+
+ private static Rectangle rectangulate(Text text) {
+ Rectangle rectangle = new Rectangle();
+ rectangle.setFill(getRandomColor());
+ final double PADDING = 25;
+ rectangle.setWidth(getWidth(text) + PADDING);
+ rectangle.setHeight(getHeight(text) + PADDING);
+ rectangle.setArcHeight(20);
+ rectangle.setArcWidth(20);
+ return rectangle;
+ }
+
+ private static double getWidth(Text text) {
+ new Scene(new Group(text));
+ text.applyCss();
+
+ return text.getLayoutBounds().getWidth();
+ }
+
+ private static double getHeight(Text text) {
+ new Scene(new Group(text));
+ text.applyCss();
+
+ return text.getLayoutBounds().getHeight();
+ }
+
+ public static Color getRandomColor() {
+ Random random = new Random(System.currentTimeMillis());
+ return Color.hsb(random.nextInt(360), 0.8, 0.8);
}
}
diff --git a/src/main/resources/music/menu.mp4 b/src/main/resources/music/menu.mp4
new file mode 100644
index 0000000..0cfe0f3
Binary files /dev/null and b/src/main/resources/music/menu.mp4 differ
diff --git a/src/main/resources/music/menu.wav b/src/main/resources/music/menu.wav
deleted file mode 100644
index f59aa3b..0000000
Binary files a/src/main/resources/music/menu.wav and /dev/null differ