-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathBoardTile.java
More file actions
105 lines (98 loc) · 3.42 KB
/
BoardTile.java
File metadata and controls
105 lines (98 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.border.*;
public class BoardTile extends JFrame {
private JButton option1;
private JButton option2;
private JButton option3;
private Option opt1;
private Option opt2;
private Option opt3;
private int number;
private Event event;
private JFrame frame;
private Player player;
public BoardTile(int tileNumber, ArrayList<Event> list, Player p) {
super ("Square" + tileNumber);
frame = this;
number = tileNumber;
event = list.get(tileNumber);
player = p;
opt1 = event.getChoiceA();
opt2 = event.getChoiceB();
opt3 = event.getChoiceC();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
buildWindow();
setVisible(true);
}
private void buildWindow() {
JPanel mainPanel = new JPanel();
JPanel options = new JPanel();
JPanel buttons = new JPanel();
JPanel optionPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
mainPanel.setBorder(new EmptyBorder(new Insets(20,20,20,20)));
options.setLayout(new BoxLayout(options, BoxLayout.Y_AXIS));
buttons.setLayout(new BoxLayout(buttons, BoxLayout.Y_AXIS));
optionPanel.setLayout(new BoxLayout(optionPanel, BoxLayout.X_AXIS));
JLabel description = new JLabel(event.getDescrip());
JLabel a = new JLabel("A. " + opt1.getDescrip());
JLabel b = new JLabel("B. " + opt2.getDescrip());
JLabel c = new JLabel("C. " + opt3.getDescrip());
option1 = new JButton("A");
option1.addActionListener(new abuttonListener());
option2 = new JButton("B");
option2.addActionListener(new bbuttonListener());
option3 = new JButton("C");
option3.addActionListener(new cbuttonListener());
mainPanel.add(description);
mainPanel.add(Box.createRigidArea(new Dimension(0,5)));
options.add(a);
options.add(Box.createRigidArea(new Dimension(0,10)));
options.add(b);
options.add(Box.createRigidArea(new Dimension(0,10)));
options.add(c);
buttons.add(option1);
buttons.add(option2);
buttons.add(option3);
optionPanel.add(options);
optionPanel.add(Box.createRigidArea(new Dimension(25,0)));
optionPanel.add(buttons);
mainPanel.add(optionPanel);
setLocationRelativeTo(null);
setSize(800,250);
add(mainPanel);
}
private class abuttonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
player.changeTardies(opt1.getChangeT());
player.changeMoney(opt1.getChangeM());
player.changeHappiness(opt1.getChangeH());
player.changeAcademics(opt1.getChangeA());
JOptionPane.showMessageDialog(null, opt1.getStatChanges(), "Option A", JOptionPane.PLAIN_MESSAGE);
frame.dispose();
}
}
private class bbuttonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
player.changeTardies(opt2.getChangeT());
player.changeMoney(opt2.getChangeM());
player.changeHappiness(opt2.getChangeH());
player.changeAcademics(opt2.getChangeA());
JOptionPane.showMessageDialog(null, opt2.getStatChanges(), "Option B", JOptionPane.PLAIN_MESSAGE);
frame.dispose();
}
}
private class cbuttonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
player.changeTardies(opt3.getChangeT());
player.changeMoney(opt3.getChangeM());
player.changeHappiness(opt3.getChangeH());
player.changeAcademics(opt3.getChangeA());
JOptionPane.showMessageDialog(null, opt3.getStatChanges(), "Option C", JOptionPane.PLAIN_MESSAGE);
frame.dispose();
}
}
}