See More

import javax.imageio.ImageIO; import javax.swing.*; import java.io.IOException; import java.awt.image.BufferedImage; import java.awt.*; import java.awt.geom.*; class BoardPanel extends JPanel { private static final long serialVersionUID = 1L; private static final int FRAME_WIDTH = 750; // must be even private static final int FRAME_HEIGHT = 750; private static final int TOKEN_RADIUS = 8; // must be even private static final Color[] PLAYER_COLORS = {Color.RED,Color.BLUE,Color.YELLOW,Color.GREEN,Color.MAGENTA,Color.WHITE}; public static final String[] TOKEN_NAME = {"red","blue","yellow","green","magenta","white"}; private static final float[] PLAYER_OFFSET = {0, 0.01f, 0.02f, 0.03f, 0.04f, 0.05f}; private static final float[][] CORNER_FROM = { {710, 730}, {5, 700}, {40,5}, {730, 40},}; private static final float[][] CORNER_TO = {{60, 730}, {5, 70}, {700,5}, {730, 700}}; private static final int[] JAIL_COORDS = {60,700}; private Players players; private BufferedImage boardImage; private int[][][] squareCoords = new int [Board.NUM_SQUARES][Players.MAX_NUM_PLAYERS][2]; private int[][] jailCoords = new int [Players.MAX_NUM_PLAYERS][2]; BoardPanel (Players players) { this.players = players; setPreferredSize(new Dimension(FRAME_WIDTH, FRAME_HEIGHT)); setBackground(Color.WHITE); try { // boardImage = ImageIO.read(new File("board.jpg")); boardImage = ImageIO.read(this.getClass().getResource("board.jpg")); } catch (IOException ex) { System.out.println("Could not find the image file " + ex.toString()); } int sideLength = Board.NUM_SQUARES/4; for (int s=0; s