Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package boardGame;
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import javax.swing.border.EmptyBorder;
- import java.awt.FlowLayout;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.GridBagLayout;
- import javax.swing.BoxLayout;
- import java.awt.CardLayout;
- import javax.swing.JButton;
- import javax.swing.JLayeredPane;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import javax.swing.GroupLayout;
- import javax.swing.GroupLayout.Alignment;
- import javax.swing.Icon;
- import javax.swing.ImageIcon;
- import java.awt.GridBagConstraints;
- import javax.swing.LayoutStyle.ComponentPlacement;
- import javax.swing.Timer;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.util.ArrayList;
- import java.util.List;
- import javax.swing.SwingConstants;
- public class BoardGameGui extends JFrame {
- private JPanel contentPane;
- private JTextField selectText;
- ImageIcon board = new ImageIcon(this.getClass().getResource("board.png"));
- ImageIcon dice = Dice.diceRolling;
- List<Players> prePick = new ArrayList<>();
- List<Players> players = new ArrayList<>();
- int turn = 1;
- int select1;
- int select2;
- int select3;
- int select4;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- BoardGameGui frame = new BoardGameGui();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- @SuppressWarnings("static-access")
- public BoardGameGui() {
- prePick.add(Players.player1);
- prePick.add(Players.player2);
- prePick.add(Players.player3);
- prePick.add(Players.player4);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 878, 684);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);;
- JPanel gamePanel = new JPanel();
- gamePanel.setVisible(false);
- gamePanel.setBounds(0, 0, 878, 634);
- contentPane.add(gamePanel);
- gamePanel.setLayout(null);
- JLayeredPane gameLayeredPane = new JLayeredPane();
- gameLayeredPane.setBounds(0, 0, 878, 634);
- gamePanel.add(gameLayeredPane);
- JPanel dicePanel = new JPanel();
- dicePanel.setVisible(false);
- JLayeredPane boardPanel = new JLayeredPane();
- boardPanel.setAlignmentY(Component.BOTTOM_ALIGNMENT);
- boardPanel.setBounds(0, 0, 878, 634);
- gameLayeredPane.add(boardPanel);
- boardPanel.setLayout(null);
- JButton sprite1 = new JButton();
- sprite1.setBorder(null);
- sprite1.setContentAreaFilled(false);
- sprite1.setIcon(null);
- sprite1.setAlignmentX(0.5f);
- sprite1.setBounds(620, 308, 108, 108);
- boardPanel.add(sprite1, new Integer(1));
- JButton sprite2 = new JButton();
- sprite2.setBorder(null);
- sprite2.setContentAreaFilled(false);
- sprite2.setIcon(null);
- sprite2.setBounds(680, 308, 108, 108);
- boardPanel.add(sprite2, new Integer(1));
- JButton sprite3 = new JButton();
- sprite3.setBorder(null);
- sprite3.setContentAreaFilled(false);
- sprite3.setAlignmentX(0.5f);
- sprite3.setBounds(620, 270, 108, 108);
- sprite3.setIcon(null);
- boardPanel.add(sprite3, new Integer(1));
- JButton sprite4 = new JButton();
- sprite4.setBorder(null);
- sprite4.setContentAreaFilled(false);
- sprite4.setAlignmentX(0.5f);
- sprite4.setBounds(680, 270, 108, 108);
- sprite4.setIcon(null);
- boardPanel.add(sprite4, new Integer(1));
- JButton boardButton = new JButton();
- boardButton.setHorizontalAlignment(SwingConstants.RIGHT);
- boardButton.setVerticalAlignment(SwingConstants.BOTTOM);
- boardButton.setBounds(0, -509, 878, 1143);
- boardButton.setAlignmentX(Component.CENTER_ALIGNMENT);
- boardButton.setIcon(board);
- boardPanel.add(boardButton);
- dicePanel.setBounds(308, 199, 261, 235);
- gameLayeredPane.add(dicePanel,new Integer(1));
- JButton diceButton = new JButton();
- diceButton.setIcon(dice);
- diceButton.setBounds(0, 0, 261, 235);
- dicePanel.add(diceButton);
- JPanel introPanel = new JPanel();
- introPanel.setBounds(0, 0, 878, 634);
- contentPane.add(introPanel);
- introPanel.setLayout(null);
- JLayeredPane introLayeredPane = new JLayeredPane();
- introLayeredPane.setBounds(0, 0, 878, 634);
- introLayeredPane.setPreferredSize(new Dimension(450, 500));
- introPanel.add(introLayeredPane);
- JPanel spriteSelection = new JPanel();
- spriteSelection.setBackground(Color.WHITE);
- spriteSelection.setVisible(false);
- spriteSelection.setBounds(300, 178, 277, 295);
- spriteSelection.setEnabled(false);
- spriteSelection.setPreferredSize(new Dimension(230, 230));
- spriteSelection.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
- introPanel.add(introLayeredPane);
- selectText = new JTextField();
- selectText.setEditable(false);
- selectText.setRequestFocusEnabled(false);
- selectText.setHorizontalAlignment(SwingConstants.CENTER);
- selectText.setText("Please select at least 1 character.");
- spriteSelection.add(selectText);
- selectText.setColumns(20);
- JButton spriteButton1 = new JButton();
- spriteButton1.setAlignmentX(Component.CENTER_ALIGNMENT);
- spriteButton1.setIcon(Players.redIdleright);
- spriteButton1.setPreferredSize(new Dimension(108, 108));
- spriteSelection.add(spriteButton1);
- spriteButton1.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- select1++;
- if(select1 == 1){
- spriteButton1.setIcon(Players.redBounceleft);
- players.add(Players.player1);
- prePick.remove(Players.player1);
- }else{
- select1 = 0;
- players.remove(Players.player1);
- prePick.add(Players.player1);
- }
- }
- });
- spriteButton1.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseEntered(MouseEvent e) {
- if(select1 == 0){
- spriteButton1.setIcon(Players.redBounceleft);
- }
- }
- @Override
- public void mouseExited(MouseEvent e) {
- if(select1 == 0)
- spriteButton1.setIcon(Players.redIdleright);
- }
- });
- JButton spriteButton2 = new JButton();
- spriteButton2.setAlignmentX(Component.CENTER_ALIGNMENT);
- spriteButton2.setIcon(Players.blueIdleright);
- spriteButton2.setPreferredSize(new Dimension(108, 108));
- spriteSelection.add(spriteButton2);
- spriteButton2.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- select2++;
- if(select2 == 1){
- spriteButton2.setIcon(Players.blueBounceleft);
- players.add(Players.player2);
- prePick.remove(Players.player2);
- }else{
- select2 = 0;
- players.remove(Players.player2);
- prePick.add(Players.player2);
- }
- }
- });
- spriteButton2.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseEntered(MouseEvent e) {
- if(select2 == 0){
- spriteButton2.setIcon(Players.blueBounceleft);
- }
- }
- @Override
- public void mouseExited(MouseEvent e) {
- if(select2 == 0)
- spriteButton2.setIcon(Players.blueIdleright);
- }
- });
- JButton spriteButton3 = new JButton();
- spriteButton3.setAlignmentX(Component.CENTER_ALIGNMENT);
- spriteButton3.setIcon(Players.greenIdleright);
- spriteButton3.setPreferredSize(new Dimension(108, 108));
- spriteSelection.add(spriteButton3);
- spriteButton3.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- select3++;
- if(select3 == 1){
- spriteButton3.setIcon(Players.greenBounceleft);
- players.add(Players.player3);
- prePick.remove(Players.player3);
- }else{
- select3 = 0;
- players.remove(Players.player3);
- prePick.add(Players.player3);
- }
- }
- });
- spriteButton3.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseEntered(MouseEvent e) {
- if(select3 == 0){
- spriteButton3.setIcon(Players.greenBounceleft);
- }
- }
- @Override
- public void mouseExited(MouseEvent e) {
- if(select3 == 0)
- spriteButton3.setIcon(Players.greenIdleright);
- }
- });
- JButton spriteButton4 = new JButton();
- spriteButton4.setAlignmentX(Component.CENTER_ALIGNMENT);
- spriteButton4.setIcon(Players.yellowIdleright);
- spriteButton4.setPreferredSize(new Dimension(108, 108));
- spriteSelection.add(spriteButton4);
- spriteButton4.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- select4++;
- if(select4 == 1){
- spriteButton4.setIcon(Players.yellowBounceleft);
- players.add(Players.player4);
- prePick.remove(Players.player4);
- }else{
- select4 = 0;
- players.remove(Players.player4);
- prePick.add(Players.player4);
- }
- }
- });
- spriteButton4.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseEntered(MouseEvent e) {
- if(select4 == 0){
- spriteButton4.setIcon(Players.yellowBounceleft);
- }
- }
- @Override
- public void mouseExited(MouseEvent e) {
- if(select4 == 0)
- spriteButton4.setIcon(Players.yellowIdleright);
- }
- });
- introLayeredPane.add(spriteSelection, new Integer(1));
- JButton closeSpriteButton = new JButton("x");
- closeSpriteButton.setBounds(557, 169, 40, 21);
- introLayeredPane.add(closeSpriteButton, new Integer(2));
- closeSpriteButton.setFont(new Font("Tahoma", Font.PLAIN, 10));
- closeSpriteButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- spriteSelection.setVisible(false);
- closeSpriteButton.setVisible(false);
- }
- });
- closeSpriteButton.setVisible(false);
- JButton submitButton = new JButton("Submit");
- submitButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if(players.size()== 0){
- selectText.setText("Please pick one!");
- }else if(players.size() == 1 ){
- players.add(prePick.get(0));players.add(prePick.get(1));players.add(prePick.get(2));
- sprite1.setIcon(players.get(0).getImageIcon());
- sprite2.setIcon(players.get(1).getImageIcon());
- sprite3.setIcon(players.get(2).getImageIcon());
- sprite4.setIcon(players.get(3).getImageIcon());
- }else if(players.size() == 2){
- players.add(prePick.get(0));players.add(prePick.get(1));
- sprite1.setIcon(players.get(0).getImageIcon());
- sprite2.setIcon(players.get(1).getImageIcon());
- sprite3.setIcon(players.get(2).getImageIcon());
- sprite4.setIcon(players.get(3).getImageIcon());
- }else if(players.size() == 3){
- players.add(prePick.get(0));
- sprite1.setIcon(players.get(0).getImageIcon());
- sprite2.setIcon(players.get(1).getImageIcon());
- sprite3.setIcon(players.get(2).getImageIcon());
- sprite4.setIcon(players.get(3).getImageIcon());
- }else{
- sprite1.setIcon(players.get(0).getImageIcon());
- sprite2.setIcon(players.get(1).getImageIcon());
- sprite3.setIcon(players.get(2).getImageIcon());
- sprite4.setIcon(players.get(3).getImageIcon());
- }
- spriteSelection.setVisible(false);
- closeSpriteButton.setVisible(false);
- }
- });
- spriteSelection.add(submitButton);
- JButton chooseButton = new JButton("Choose Player");
- chooseButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- spriteSelection.setVisible(true);
- closeSpriteButton.setVisible(true);
- }
- });
- chooseButton.setBounds(372, 289, 133, 56);
- JPanel messagePanel = new JPanel();
- messagePanel.setVisible(false);
- messagePanel.setBounds(190, 250, 497, 133);
- introLayeredPane.add(messagePanel, new Integer(1));
- messagePanel.setLayout(null);
- JLabel warningLabel = new JLabel("Please choose a character before starting the game!");
- warningLabel.setFont(new Font("Tahoma", Font.BOLD, 16));
- warningLabel.setHorizontalAlignment(SwingConstants.CENTER);
- warningLabel.setBounds(15, 16, 467, 101);
- warningLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
- warningLabel.setHorizontalTextPosition(SwingConstants.CENTER);
- messagePanel.add(warningLabel);
- JButton exitButton = new JButton("Exit Game");
- exitButton.setBounds(372, 375, 133, 56);
- exitButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- System.exit(0);
- }
- });
- JButton startButton = new JButton("Start Game");
- startButton.setBounds(372, 206, 133, 56);
- startButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if(players.isEmpty()){
- messagePanel.setVisible(true);
- if(messagePanel.isVisible()){
- Timer time = new Timer(2500,new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- messagePanel.setVisible(false);
- }
- });
- time.start();
- if(!messagePanel.isVisible()){
- time.stop();
- }
- }
- }else {
- gamePanel.setVisible(true);
- introPanel.setVisible(false);
- gameStart();
- }
- }
- public void gameStart() {
- while(turn < 5){
- if(turn == 1){
- player1turn();
- }else if(turn == 2){
- player2turn();
- }else if(turn == 3){
- player3turn();
- }else if(turn == 4){
- player4turn();
- }
- }
- }
- public void player1turn() {
- Dice dice1 = new Dice(0);
- int start = players.get(0).getSpace();
- dice1.rollDice();
- int end = players.get(0).getSpace();
- diceGo(players.get(0), dice1, sprite1, start, end);
- turnEnd();
- }
- public void player2turn() {
- Dice dice2 = new Dice(0);
- int start = players.get(1).getSpace();
- dice2.rollDice();
- int end = players.get(1).getSpace();
- diceGo(players.get(1), dice2, sprite2, start, end);
- turnEnd();
- }
- public void player3turn() {
- Dice dice3 = new Dice(0);
- int start = players.get(2).getSpace();
- dice3.rollDice();
- int end = players.get(2).getSpace();
- diceGo(players.get(2), dice3, sprite3, start, end);
- turnEnd();
- }
- public void player4turn() {
- Dice dice4 = new Dice(0);
- int start = players.get(3).getSpace();
- dice4.rollDice();
- int end = players.get(3).getSpace();
- diceGo(players.get(3), dice4, sprite4, start, end);
- turnEnd();
- }
- public void diceGo(Players pl, Dice d, JButton sp, int start, int end) {
- dicePanel.setVisible(true);
- diceButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- pl.movingFoward(d.getRollDice());
- diceButton.setIcon(d.getImageIcon());
- Timer time = new Timer(2000,new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- dicePanel.setVisible(false);
- }
- });
- time.start();
- time.setRepeats(false);
- for(int i = start; i <= end; i++){
- sp.setBounds((sp.getBounds().x-(d.getRollDice()*100)), sp.getBounds().y, 108, 108);
- }
- }
- });
- }
- public void turnEnd() {
- Timer time = new Timer(2000,new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- turn++;
- }
- });
- time.start();
- time.setRepeats(false);
- }
- });
- introLayeredPane.add(startButton, new Integer(0));
- introLayeredPane.add(chooseButton, new Integer(0));
- introLayeredPane.add(exitButton, new Integer(0));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement