The goal of this programming project is to sharpen your JavaFX skills, and use the tools you learned in class to create a simple GUI application In this project you are required to implement a GUI application that contains a Chess Board, you have to color the board then place the Chess pieces on the board. Chess is believed to have originated in 280 550, and the modern Chess origins from around the 1200's. A survey from 2012 found that 605 million adults play chess around the world. More information about Chess Game can be found on the following link: Programming Requirements: In IntelliJ, create a project name Project2, then create a new package under that project named project 2. Create a folder for the image files and name it images Copy all the image files you downloaded to the images folder, so whenever you are using an image the path for that image should be "file-images/imagename.png", For example, one of the images is named "White Queen", the path for this image is "file-images/WhiteQueen.png" After copying the images to the images package, Copy ChessBoard.java to your project 2 package, this class have an instance pane of type GridPane and two methods to be completed Complete the colorBoard() method, the purpose of this method is to setup each of the 64 squares of the board. Each square will have at least one layer (the color) and some squares will have a second layer added on the top of the color which will be one of the Chess pieces (Hint: Think of a structure that allows you to stack more than one Node/Layer on the top of the othera). Stop reading and think of this for a second before continuing The squares of the board are arranged in two alternating colors, light and dark, in our application we will use White and Grey. I 1 Did you figure it out? Alright, I will give another hint: Use StackPane. Complete the setup Board() method, the purpose of this method is to place the pieces on the Chess Board. You are not restricted on how to complete this method. But you need to iterate over the board and manipulate every square. Remember, the board is a GridPane and each square of the board is a StackPane. The pieces are placed on the White and Black Grey in our application) side of the board in the same manner. In the first row beginning at both outer edges and moving inward, place the Rook, the Knight and the Bishop. For the two remaining squares, place the Queen on the square with the same color. Place the King on the final square. On the second row place a row of pawns. The default size for the scene is 320 X 320, but resizing the stage should result in resizing the squares and the pieces. All the squares and pieces sizes have to be bound to the size of the scene. So If the scene size grows, the squares and pieces must grow too, vise-versa. This is very important in order to have a user-friendly application Extra Credit 1(5 points) The initial size of the scene is 320 X 320, so the aspect ratio of the scene in our application is 1:1, try to keep the aspect ratio the same when resizing the scene, so the GUI is always a square. If you complete this part, you will get 5 points as extra credit Good Luck package project2; import javafx. application. Application; import javafx.scene. Scene; import javafx.scene.layout. *; import javafx.stage. Stage; public class ChessBoard extends Application { final GridPane board = new GridPane(); @Override public void start(Stage primaryStage) { // Uncomment the method calls to test your methods 1/colorBoard(); 1/setupBoard(); Scene scene = new Scene (board, 320, 320); primaryStage.setTitle("Chess Board"); primaryStage.setScene (scene); primaryStage.show(); } public void colorBoard() { //TODO complete this method as required in the instructions } } public void setupBoard() { //TODO complete this method as required in the instructions } @param args the command line arguments public static void main(String[] args) { launch(args); } 3 Programming Requirements: In IntelliJ, create a project name Project2, then create a new package under that project named project2. Create a folder for the image files and name it images. Copy all the image files you downloaded to the images folder, so whenever you are using an image the path for that image should be "file:images/imagename.png", For example, one of the images is named "WhiteQueen", the path for this image is "-file-images/WhiteQueen.png" After copying the images to the images package, Copy ChessBoard.java to your project 2 package, this class have an instance pane of type GridPane and two methods to be completed Complete the colorBoard() method, the purpose of this method is to setup each of the 64 squares of the board. Each square will have at least one layer(the color) and some squares will have a second layer added on the top of the color which will be one of the Chess pieces (Hint: Think of a structure that allows you to stack more than one Node/Layer on the top of the others). Stop reading and think of this for a second before continuing. The squares of the board are arranged in two alternating colors, light and dark, in our application we will use White and Grey. Che dood @ch Did you figure it out? Alright, I will give another hint: Use a StackPane. Complete the setupBoard() method, the purpose of this method is to place the pieces on the Chess Board. You are not restricted on how to complete this method. But you need to iterate over the board and manipulate every square. Remember, the board is a GridPane and each square of the board is a StackPane. The pieces are placed on the White and Black (Grey in our application) side of the board in the same manner. In the first row beginning at both outer edges and moving inward, place the Rook, the Knight and the Bishop. For the two remaining squares, place the Queen on the square with the same color. Place the King on the final square. On the second row place a row of pawns. The default size for the scene is 320 X 320, but resizing the stage should result in resizing the squares and the pieces. All the squares and pieces sizes have to be bound to the size of the scene. So If the scene size grows, the squares and pieces must grow too, vise-versa. This is very important in order to have a user-friendly application. Extra Credit 1(6 points): The initial size of the scene is 320 X 320, so the aspect ratio of the scene in our application is 1:1, try to keep the aspect ratio the same when resizing the scene, so the GUI is always a square. If you complete this part, you will get 5 points as extra credit. Good Luck