Skip to content
Snippets Groups Projects
GameController.java 1.7 KiB
Newer Older
Alexis BUSSENEAU's avatar
Alexis BUSSENEAU committed
package controller;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;

import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

import java.net.URL;
import java.util.ResourceBundle;

import model.Board;

public class GameController implements Initializable {

    /*  ----- FXML ATTRIBUTES -----  */

        @FXML
        private GridPane board;

        @FXML
        private Label levelNumber;


    /*  ----- ATTRIBUTES -----  */

        /**
         *
         */
        private static final String LEVELS_FILE = "data/levels.txt";

        /**
         *
         */
        private BufferedReader br;

        /**
         * The model of the controller.
         */
        private Board model;


        public GameController() {
            try {
                br = new BufferedReader( new FileReader(LEVELS_FILE) );
                String[] line = br.readLine().split(" ");
                model = new Board(Integer.valueOf(line[0]), Integer.valueOf(line[1]));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        @Override
        public void initialize(URL location, ResourceBundle resources) {
            board.setGridLinesVisible(true);

            double size = 300.0 / model.getSize();
            Pane cell;
            boolean tmp = true;
            for (int i = 0; i < model.getSize(); i++)
                for (int j = 0; j < model.getSize(); j++) {
                    cell = new Pane();
                    cell.setPrefSize(size, size);
                    board.add(cell, i, j);
                }
        }

}