81 lines
2.4 KiB
Java
81 lines
2.4 KiB
Java
package nl.minkema.leendert;
|
|
|
|
import javafx.event.EventHandler;
|
|
import javafx.scene.image.Image;
|
|
import javafx.scene.image.ImageView;
|
|
import javafx.scene.input.MouseEvent;
|
|
import javafx.scene.layout.Pane;
|
|
import javafx.scene.paint.Color;
|
|
import javafx.scene.shape.Circle;
|
|
import javafx.scene.text.Text;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
|
|
/**
|
|
* @author J0QUE
|
|
* @version 1.0
|
|
*/
|
|
public class Game extends Pane {
|
|
|
|
|
|
public static final HashMap<Integer, Integer> specials = new HashMap<>();
|
|
public static int[][] locations;
|
|
public static ArrayList<Player> players = new ArrayList<>();
|
|
|
|
public Game() {
|
|
Collections.shuffle(players);
|
|
Image bord = new Image(ModLoader.getFile("/svg/Bord.svg"));
|
|
ImageView view = new ImageView(bord);
|
|
|
|
view.setPreserveRatio(true);
|
|
view.setFitHeight(800);
|
|
view.setX(150);
|
|
view.setY(0);
|
|
this.getChildren().add(view);
|
|
|
|
for (int i = 0, locationsLength = locations.length; i < locationsLength; i++) {
|
|
int[] k = locations[i];
|
|
getChildren().add(new Circle(k[0], k[1], 5, Color.RED));
|
|
getChildren().add(new Text(k[0], k[1], String.valueOf(i)));
|
|
}
|
|
|
|
this.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
|
int i = 0;
|
|
|
|
@Override
|
|
public void handle(MouseEvent event) {
|
|
//System.out.printf("%d: %d,%d%n", i++, (int) event.getSceneX(), (int) event.getSceneY());
|
|
}
|
|
});
|
|
ImageView playerTurn = new ImageView();
|
|
playerTurn.setX(1000);
|
|
playerTurn.setY(50);
|
|
playerTurn.setPreserveRatio(true);
|
|
playerTurn.setFitWidth(100);
|
|
|
|
this.getChildren().add(playerTurn);
|
|
|
|
|
|
Dice dice = new Dice(1100, 700);
|
|
this.getChildren().add(dice);
|
|
this.getChildren().add(Menu.createButton("Gooi", 1100, 650, e -> {
|
|
Player p = players.get(Player.getNextActive());
|
|
int roll = dice.roll();
|
|
p.move(roll);
|
|
if (roll == 4) Player.four();
|
|
playerTurn.setImage(Menu.images[players.get(Player.getNextActive()).getCh()]);
|
|
Player.four();
|
|
}));
|
|
//this.setBackground(new Background(new BackgroundFill(Color.RED, null, null)));
|
|
for (Player p : players) {
|
|
this.getChildren().add(p.getImageView());
|
|
}
|
|
|
|
playerTurn.setImage(Menu.images[players.get(1).getCh()]);
|
|
|
|
}
|
|
|
|
}
|