Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.71 KB | None | 0 0
  1. package boardGame;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.EventQueue;
  5.  
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JPanel;
  9. import javax.swing.JTextField;
  10. import javax.swing.border.EmptyBorder;
  11.  
  12. import java.awt.FlowLayout;
  13. import java.awt.Font;
  14. import java.awt.Graphics;
  15. import java.awt.GridBagLayout;
  16. import javax.swing.BoxLayout;
  17. import java.awt.CardLayout;
  18. import javax.swing.JButton;
  19. import javax.swing.JLayeredPane;
  20. import java.awt.Dimension;
  21. import java.awt.GridLayout;
  22. import javax.swing.GroupLayout;
  23. import javax.swing.GroupLayout.Alignment;
  24. import javax.swing.Icon;
  25. import javax.swing.ImageIcon;
  26. import java.awt.GridBagConstraints;
  27. import javax.swing.LayoutStyle.ComponentPlacement;
  28. import javax.swing.Timer;
  29.  
  30. import java.awt.event.ActionListener;
  31. import java.awt.event.ActionEvent;
  32. import java.awt.Color;
  33. import java.awt.Component;
  34. import java.awt.event.MouseAdapter;
  35. import java.awt.event.MouseEvent;
  36. import java.util.ArrayList;
  37. import java.util.List;
  38.  
  39. import javax.swing.SwingConstants;
  40.  
  41. public class BoardGameGui extends JFrame {
  42.  
  43. private JPanel contentPane;
  44. private JTextField selectText;
  45. ImageIcon board = new ImageIcon(this.getClass().getResource("board.png"));
  46. ImageIcon dice = Dice.diceRolling;
  47. List<Players> prePick = new ArrayList<>();
  48. List<Players> players = new ArrayList<>();
  49. int turn = 1;
  50. int select1;
  51. int select2;
  52. int select3;
  53. int select4;
  54.  
  55. /**
  56. * Launch the application.
  57. */
  58.  
  59. public static void main(String[] args) {
  60. EventQueue.invokeLater(new Runnable() {
  61. public void run() {
  62. try {
  63. BoardGameGui frame = new BoardGameGui();
  64. frame.setVisible(true);
  65. } catch (Exception e) {
  66. e.printStackTrace();
  67. }
  68. }
  69. });
  70. }
  71.  
  72. /**
  73. * Create the frame.
  74. */
  75. @SuppressWarnings("static-access")
  76. public BoardGameGui() {
  77. prePick.add(Players.player1);
  78. prePick.add(Players.player2);
  79. prePick.add(Players.player3);
  80. prePick.add(Players.player4);
  81.  
  82. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  83. setBounds(100, 100, 878, 684);
  84. contentPane = new JPanel();
  85. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  86. setContentPane(contentPane);
  87. contentPane.setLayout(null);;
  88.  
  89. JPanel gamePanel = new JPanel();
  90. gamePanel.setVisible(false);
  91. gamePanel.setBounds(0, 0, 878, 634);
  92. contentPane.add(gamePanel);
  93. gamePanel.setLayout(null);
  94.  
  95. JLayeredPane gameLayeredPane = new JLayeredPane();
  96. gameLayeredPane.setBounds(0, 0, 878, 634);
  97. gamePanel.add(gameLayeredPane);
  98.  
  99. JPanel dicePanel = new JPanel();
  100. dicePanel.setVisible(false);
  101.  
  102. JLayeredPane boardPanel = new JLayeredPane();
  103. boardPanel.setAlignmentY(Component.BOTTOM_ALIGNMENT);
  104. boardPanel.setBounds(0, 0, 878, 634);
  105.  
  106. gameLayeredPane.add(boardPanel);
  107. boardPanel.setLayout(null);
  108.  
  109. JButton sprite1 = new JButton();
  110. sprite1.setBorder(null);
  111. sprite1.setContentAreaFilled(false);
  112. sprite1.setIcon(null);
  113. sprite1.setAlignmentX(0.5f);
  114. sprite1.setBounds(620, 308, 108, 108);
  115. boardPanel.add(sprite1, new Integer(1));
  116.  
  117. JButton sprite2 = new JButton();
  118. sprite2.setBorder(null);
  119. sprite2.setContentAreaFilled(false);
  120. sprite2.setIcon(null);
  121. sprite2.setBounds(680, 308, 108, 108);
  122. boardPanel.add(sprite2, new Integer(1));
  123.  
  124. JButton sprite3 = new JButton();
  125. sprite3.setBorder(null);
  126. sprite3.setContentAreaFilled(false);
  127. sprite3.setAlignmentX(0.5f);
  128. sprite3.setBounds(620, 270, 108, 108);
  129. sprite3.setIcon(null);
  130. boardPanel.add(sprite3, new Integer(1));
  131.  
  132. JButton sprite4 = new JButton();
  133. sprite4.setBorder(null);
  134. sprite4.setContentAreaFilled(false);
  135. sprite4.setAlignmentX(0.5f);
  136. sprite4.setBounds(680, 270, 108, 108);
  137. sprite4.setIcon(null);
  138. boardPanel.add(sprite4, new Integer(1));
  139.  
  140.  
  141. JButton boardButton = new JButton();
  142. boardButton.setHorizontalAlignment(SwingConstants.RIGHT);
  143. boardButton.setVerticalAlignment(SwingConstants.BOTTOM);
  144. boardButton.setBounds(0, -509, 878, 1143);
  145. boardButton.setAlignmentX(Component.CENTER_ALIGNMENT);
  146. boardButton.setIcon(board);
  147. boardPanel.add(boardButton);
  148. dicePanel.setBounds(308, 199, 261, 235);
  149. gameLayeredPane.add(dicePanel,new Integer(1));
  150.  
  151. JButton diceButton = new JButton();
  152. diceButton.setIcon(dice);
  153.  
  154. diceButton.setBounds(0, 0, 261, 235);
  155. dicePanel.add(diceButton);
  156.  
  157. JPanel introPanel = new JPanel();
  158. introPanel.setBounds(0, 0, 878, 634);
  159. contentPane.add(introPanel);
  160. introPanel.setLayout(null);
  161.  
  162. JLayeredPane introLayeredPane = new JLayeredPane();
  163. introLayeredPane.setBounds(0, 0, 878, 634);
  164. introLayeredPane.setPreferredSize(new Dimension(450, 500));
  165. introPanel.add(introLayeredPane);
  166.  
  167. JPanel spriteSelection = new JPanel();
  168. spriteSelection.setBackground(Color.WHITE);
  169. spriteSelection.setVisible(false);
  170. spriteSelection.setBounds(300, 178, 277, 295);
  171. spriteSelection.setEnabled(false);
  172. spriteSelection.setPreferredSize(new Dimension(230, 230));
  173. spriteSelection.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
  174. introPanel.add(introLayeredPane);
  175.  
  176. selectText = new JTextField();
  177. selectText.setEditable(false);
  178. selectText.setRequestFocusEnabled(false);
  179. selectText.setHorizontalAlignment(SwingConstants.CENTER);
  180. selectText.setText("Please select at least 1 character.");
  181. spriteSelection.add(selectText);
  182. selectText.setColumns(20);
  183.  
  184. JButton spriteButton1 = new JButton();
  185. spriteButton1.setAlignmentX(Component.CENTER_ALIGNMENT);
  186. spriteButton1.setIcon(Players.redIdleright);
  187. spriteButton1.setPreferredSize(new Dimension(108, 108));
  188. spriteSelection.add(spriteButton1);
  189.  
  190. spriteButton1.addActionListener(new ActionListener() {
  191. public void actionPerformed(ActionEvent e) {
  192. select1++;
  193. if(select1 == 1){
  194. spriteButton1.setIcon(Players.redBounceleft);
  195. players.add(Players.player1);
  196. prePick.remove(Players.player1);
  197. }else{
  198. select1 = 0;
  199. players.remove(Players.player1);
  200. prePick.add(Players.player1);
  201. }
  202. }
  203. });
  204. spriteButton1.addMouseListener(new MouseAdapter() {
  205. @Override
  206. public void mouseEntered(MouseEvent e) {
  207. if(select1 == 0){
  208. spriteButton1.setIcon(Players.redBounceleft);
  209. }
  210. }
  211. @Override
  212. public void mouseExited(MouseEvent e) {
  213. if(select1 == 0)
  214. spriteButton1.setIcon(Players.redIdleright);
  215. }
  216. });
  217.  
  218. JButton spriteButton2 = new JButton();
  219. spriteButton2.setAlignmentX(Component.CENTER_ALIGNMENT);
  220. spriteButton2.setIcon(Players.blueIdleright);
  221. spriteButton2.setPreferredSize(new Dimension(108, 108));
  222. spriteSelection.add(spriteButton2);
  223.  
  224. spriteButton2.addActionListener(new ActionListener() {
  225. public void actionPerformed(ActionEvent e) {
  226. select2++;
  227. if(select2 == 1){
  228. spriteButton2.setIcon(Players.blueBounceleft);
  229. players.add(Players.player2);
  230. prePick.remove(Players.player2);
  231. }else{
  232. select2 = 0;
  233. players.remove(Players.player2);
  234. prePick.add(Players.player2);
  235. }
  236. }
  237. });
  238. spriteButton2.addMouseListener(new MouseAdapter() {
  239. @Override
  240. public void mouseEntered(MouseEvent e) {
  241. if(select2 == 0){
  242. spriteButton2.setIcon(Players.blueBounceleft);
  243. }
  244. }
  245. @Override
  246. public void mouseExited(MouseEvent e) {
  247. if(select2 == 0)
  248. spriteButton2.setIcon(Players.blueIdleright);
  249. }
  250. });
  251.  
  252. JButton spriteButton3 = new JButton();
  253. spriteButton3.setAlignmentX(Component.CENTER_ALIGNMENT);
  254. spriteButton3.setIcon(Players.greenIdleright);
  255. spriteButton3.setPreferredSize(new Dimension(108, 108));
  256. spriteSelection.add(spriteButton3);
  257.  
  258. spriteButton3.addActionListener(new ActionListener() {
  259. public void actionPerformed(ActionEvent e) {
  260. select3++;
  261. if(select3 == 1){
  262. spriteButton3.setIcon(Players.greenBounceleft);
  263. players.add(Players.player3);
  264. prePick.remove(Players.player3);
  265. }else{
  266. select3 = 0;
  267. players.remove(Players.player3);
  268. prePick.add(Players.player3);
  269. }
  270. }
  271. });
  272. spriteButton3.addMouseListener(new MouseAdapter() {
  273. @Override
  274. public void mouseEntered(MouseEvent e) {
  275. if(select3 == 0){
  276. spriteButton3.setIcon(Players.greenBounceleft);
  277. }
  278. }
  279. @Override
  280. public void mouseExited(MouseEvent e) {
  281. if(select3 == 0)
  282. spriteButton3.setIcon(Players.greenIdleright);
  283. }
  284. });
  285.  
  286. JButton spriteButton4 = new JButton();
  287. spriteButton4.setAlignmentX(Component.CENTER_ALIGNMENT);
  288. spriteButton4.setIcon(Players.yellowIdleright);
  289. spriteButton4.setPreferredSize(new Dimension(108, 108));
  290. spriteSelection.add(spriteButton4);
  291.  
  292. spriteButton4.addActionListener(new ActionListener() {
  293. public void actionPerformed(ActionEvent e) {
  294. select4++;
  295. if(select4 == 1){
  296. spriteButton4.setIcon(Players.yellowBounceleft);
  297. players.add(Players.player4);
  298. prePick.remove(Players.player4);
  299. }else{
  300. select4 = 0;
  301. players.remove(Players.player4);
  302. prePick.add(Players.player4);
  303. }
  304. }
  305. });
  306. spriteButton4.addMouseListener(new MouseAdapter() {
  307. @Override
  308. public void mouseEntered(MouseEvent e) {
  309. if(select4 == 0){
  310. spriteButton4.setIcon(Players.yellowBounceleft);
  311. }
  312. }
  313. @Override
  314. public void mouseExited(MouseEvent e) {
  315. if(select4 == 0)
  316. spriteButton4.setIcon(Players.yellowIdleright);
  317. }
  318. });
  319. introLayeredPane.add(spriteSelection, new Integer(1));
  320.  
  321. JButton closeSpriteButton = new JButton("x");
  322. closeSpriteButton.setBounds(557, 169, 40, 21);
  323. introLayeredPane.add(closeSpriteButton, new Integer(2));
  324. closeSpriteButton.setFont(new Font("Tahoma", Font.PLAIN, 10));
  325. closeSpriteButton.addActionListener(new ActionListener() {
  326. public void actionPerformed(ActionEvent e) {
  327. spriteSelection.setVisible(false);
  328. closeSpriteButton.setVisible(false);
  329. }
  330. });
  331. closeSpriteButton.setVisible(false);
  332.  
  333. JButton submitButton = new JButton("Submit");
  334. submitButton.addActionListener(new ActionListener() {
  335. public void actionPerformed(ActionEvent e) {
  336. if(players.size()== 0){
  337. selectText.setText("Please pick one!");
  338. }else if(players.size() == 1 ){
  339. players.add(prePick.get(0));players.add(prePick.get(1));players.add(prePick.get(2));
  340. sprite1.setIcon(players.get(0).getImageIcon());
  341. sprite2.setIcon(players.get(1).getImageIcon());
  342. sprite3.setIcon(players.get(2).getImageIcon());
  343. sprite4.setIcon(players.get(3).getImageIcon());
  344. }else if(players.size() == 2){
  345. players.add(prePick.get(0));players.add(prePick.get(1));
  346. sprite1.setIcon(players.get(0).getImageIcon());
  347. sprite2.setIcon(players.get(1).getImageIcon());
  348. sprite3.setIcon(players.get(2).getImageIcon());
  349. sprite4.setIcon(players.get(3).getImageIcon());
  350. }else if(players.size() == 3){
  351. players.add(prePick.get(0));
  352. sprite1.setIcon(players.get(0).getImageIcon());
  353. sprite2.setIcon(players.get(1).getImageIcon());
  354. sprite3.setIcon(players.get(2).getImageIcon());
  355. sprite4.setIcon(players.get(3).getImageIcon());
  356. }else{
  357. sprite1.setIcon(players.get(0).getImageIcon());
  358. sprite2.setIcon(players.get(1).getImageIcon());
  359. sprite3.setIcon(players.get(2).getImageIcon());
  360. sprite4.setIcon(players.get(3).getImageIcon());
  361. }
  362.  
  363. spriteSelection.setVisible(false);
  364. closeSpriteButton.setVisible(false);
  365.  
  366. }
  367. });
  368. spriteSelection.add(submitButton);
  369.  
  370. JButton chooseButton = new JButton("Choose Player");
  371. chooseButton.addActionListener(new ActionListener() {
  372. public void actionPerformed(ActionEvent e) {
  373. spriteSelection.setVisible(true);
  374. closeSpriteButton.setVisible(true);
  375. }
  376. });
  377. chooseButton.setBounds(372, 289, 133, 56);
  378.  
  379. JPanel messagePanel = new JPanel();
  380. messagePanel.setVisible(false);
  381. messagePanel.setBounds(190, 250, 497, 133);
  382. introLayeredPane.add(messagePanel, new Integer(1));
  383. messagePanel.setLayout(null);
  384.  
  385. JLabel warningLabel = new JLabel("Please choose a character before starting the game!");
  386. warningLabel.setFont(new Font("Tahoma", Font.BOLD, 16));
  387. warningLabel.setHorizontalAlignment(SwingConstants.CENTER);
  388. warningLabel.setBounds(15, 16, 467, 101);
  389. warningLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
  390. warningLabel.setHorizontalTextPosition(SwingConstants.CENTER);
  391. messagePanel.add(warningLabel);
  392.  
  393. JButton exitButton = new JButton("Exit Game");
  394. exitButton.setBounds(372, 375, 133, 56);
  395. exitButton.addActionListener(new ActionListener() {
  396. @Override
  397. public void actionPerformed(ActionEvent arg0) {
  398. System.exit(0);
  399. }
  400. });
  401.  
  402. JButton startButton = new JButton("Start Game");
  403. startButton.setBounds(372, 206, 133, 56);
  404. startButton.addActionListener(new ActionListener() {
  405. public void actionPerformed(ActionEvent e) {
  406. if(players.isEmpty()){
  407. messagePanel.setVisible(true);
  408. if(messagePanel.isVisible()){
  409. Timer time = new Timer(2500,new ActionListener() {
  410. @Override
  411. public void actionPerformed(ActionEvent e) {
  412. messagePanel.setVisible(false);
  413. }
  414. });
  415. time.start();
  416. if(!messagePanel.isVisible()){
  417. time.stop();
  418. }
  419. }
  420. }else {
  421. gamePanel.setVisible(true);
  422. introPanel.setVisible(false);
  423. gameStart();
  424. }
  425.  
  426. }
  427.  
  428. public void gameStart() {
  429. while(turn < 5){
  430. if(turn == 1){
  431. player1turn();
  432. }else if(turn == 2){
  433. player2turn();
  434. }else if(turn == 3){
  435. player3turn();
  436. }else if(turn == 4){
  437. player4turn();
  438. }
  439. }
  440. }
  441.  
  442. public void player1turn() {
  443. Dice dice1 = new Dice(0);
  444. int start = players.get(0).getSpace();
  445. dice1.rollDice();
  446. int end = players.get(0).getSpace();
  447. diceGo(players.get(0), dice1, sprite1, start, end);
  448. turnEnd();
  449.  
  450. }
  451.  
  452. public void player2turn() {
  453. Dice dice2 = new Dice(0);
  454. int start = players.get(1).getSpace();
  455. dice2.rollDice();
  456. int end = players.get(1).getSpace();
  457. diceGo(players.get(1), dice2, sprite2, start, end);
  458. turnEnd();
  459.  
  460. }
  461.  
  462. public void player3turn() {
  463. Dice dice3 = new Dice(0);
  464. int start = players.get(2).getSpace();
  465. dice3.rollDice();
  466. int end = players.get(2).getSpace();
  467. diceGo(players.get(2), dice3, sprite3, start, end);
  468. turnEnd();
  469.  
  470. }
  471.  
  472. public void player4turn() {
  473. Dice dice4 = new Dice(0);
  474. int start = players.get(3).getSpace();
  475. dice4.rollDice();
  476. int end = players.get(3).getSpace();
  477. diceGo(players.get(3), dice4, sprite4, start, end);
  478. turnEnd();
  479.  
  480. }
  481.  
  482. public void diceGo(Players pl, Dice d, JButton sp, int start, int end) {
  483. dicePanel.setVisible(true);
  484. diceButton.addActionListener(new ActionListener() {
  485. public void actionPerformed(ActionEvent e) {
  486. pl.movingFoward(d.getRollDice());
  487. diceButton.setIcon(d.getImageIcon());
  488. Timer time = new Timer(2000,new ActionListener() {
  489. @Override
  490. public void actionPerformed(ActionEvent e) {
  491. dicePanel.setVisible(false);
  492. }
  493. });
  494. time.start();
  495. time.setRepeats(false);
  496. for(int i = start; i <= end; i++){
  497. sp.setBounds((sp.getBounds().x-(d.getRollDice()*100)), sp.getBounds().y, 108, 108);
  498. }
  499. }
  500. });
  501. }
  502.  
  503. public void turnEnd() {
  504. Timer time = new Timer(2000,new ActionListener() {
  505. @Override
  506. public void actionPerformed(ActionEvent e) {
  507. turn++;
  508. }
  509. });
  510. time.start();
  511. time.setRepeats(false);
  512. }
  513. });
  514.  
  515. introLayeredPane.add(startButton, new Integer(0));
  516. introLayeredPane.add(chooseButton, new Integer(0));
  517. introLayeredPane.add(exitButton, new Integer(0));
  518.  
  519. }
  520.  
  521. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement