Skip to content

Commit 8375d35

Browse files
committed
Completed Menu
1 parent ac384b8 commit 8375d35

File tree

4 files changed

+121
-27
lines changed

4 files changed

+121
-27
lines changed

src/com/redomar/game/Game.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.redomar.game.lib.Font;
2525
import com.redomar.game.lib.Music;
2626
import com.redomar.game.lib.Time;
27+
import com.redomar.game.menu.Menu;
2728
import com.redomar.game.net.GameClient;
2829
import com.redomar.game.net.GameServer;
2930
import com.redomar.game.net.packets.Packet00Login;
@@ -306,9 +307,14 @@ public void render() {
306307
}
307308

308309
public static void main(String[] args) {
310+
Menu.main(null);
311+
}
312+
313+
public static void play(){
309314
try {
310315
JSplash splash = new JSplash(Game.class.getResource("/splash/splash.png"), true, true, false, game_Version, null, Color.RED, Color.ORANGE);
311316
splash.toFront();
317+
splash.requestFocus();
312318
splash.splashOn();
313319
splash.setProgress(10, "Initializing Game");
314320
Thread.sleep(250);
@@ -346,7 +352,6 @@ public static void main(String[] args) {
346352
} catch (Exception e) {
347353
e.printStackTrace();
348354
}
349-
350355
}
351356

352357
public JFrame getFrame() {

src/com/redomar/game/lib/Mouse.java

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import java.awt.event.MouseListener;
55
import java.awt.event.MouseMotionListener;
66

7+
import com.redomar.game.Game;
78
import com.redomar.game.menu.Menu;
89

910
public class Mouse implements MouseListener, MouseMotionListener{
10-
1111

1212
public void mouseDragged(MouseEvent e) {
1313

@@ -17,25 +17,41 @@ public void mouseMoved(MouseEvent e) {
1717
if (e.getX() > 35 && e.getX() < 440){
1818
//START is being selected
1919
if(e.getY() > 35 && e.getY() < 125){
20-
Menu.selectedStart = true;
20+
Menu.setSelectedStart(true);
2121
}else{
22-
Menu.selectedStart = false;
22+
Menu.setSelectedStart(false);
2323
}
2424
//EXIT is being selected
2525
if(e.getY() > 160 && e.getY() < 250){
26-
Menu.selectedExit = true;
26+
Menu.setSelectedExit(true);
2727
}else{
28-
Menu.selectedExit = false;
28+
Menu.setSelectedExit(false);
2929
}
3030
}else{
31-
Menu.selectedStart = false;
32-
Menu.selectedExit = false;
31+
Menu.setSelectedStart(false);
32+
Menu.setSelectedExit(false);
3333
}
3434

3535
}
3636

3737
public void mouseClicked(MouseEvent e) {
38-
38+
if(Menu.isRunning()){
39+
if (e.getX() > 35 && e.getX() < 440){
40+
//START game
41+
if(e.getY() > 35 && e.getY() < 125){
42+
Menu.setRunning(false);
43+
Menu.getFrame().setVisible(false);
44+
Menu.getFrame().stopFrame();
45+
Game.play();
46+
}
47+
//EXIT game
48+
if(e.getY() > 160 && e.getY() < 250){
49+
Menu.setRunning(false);
50+
Menu.getFrame().setVisible(false);
51+
Menu.getFrame().stopFrame();
52+
}
53+
}
54+
}
3955
}
4056

4157
public void mouseEntered(MouseEvent e) {

src/com/redomar/game/menu/DedicatedJFrame.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,9 @@ public void setFrame(JFrame frame) {
3434
DedicatedJFrame.frame = frame;
3535
}
3636

37+
public void stopFrame(){
38+
getFrame().dispose();
39+
}
40+
3741

3842
}

src/com/redomar/game/menu/Menu.java

Lines changed: 87 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ public class Menu implements Runnable{
1818
private static final int SCALE = 3;
1919
private static final String NAME = "Menu";
2020

21-
private DedicatedJFrame frame = new DedicatedJFrame(WIDTH, HEIGHT, SCALE, NAME);
22-
private Font font = new Font();
23-
24-
private boolean running = false;
21+
private static boolean running = false;
22+
private static boolean selectedStart = false;
23+
private static boolean selectedExit = false;
24+
private static boolean gameOver = false;
2525

26-
public static boolean selectedStart = false;
27-
public static boolean selectedExit = false;
26+
private static DedicatedJFrame frame = new DedicatedJFrame(WIDTH, HEIGHT, SCALE, NAME);
27+
private Font font = new Font();
28+
private MouseListener Mouse = new Mouse();
2829

2930
private Color selected = new Color(0xFFFF8800);
3031
private Color deSelected = new Color(0xFFCC5500);
@@ -34,7 +35,7 @@ public synchronized void start() {
3435
new Thread(this, "MENU").start();
3536
}
3637

37-
public synchronized void stop() {
38+
public static synchronized void stop() {
3839
running = false;
3940
}
4041

@@ -82,56 +83,60 @@ public void run() {
8283

8384
private void render() {
8485
//frame.getFrame().getContentPane().setBackground(Color.GREEN);
86+
frame.addMouseMotionListener((MouseMotionListener) Mouse);
87+
frame.addMouseListener(Mouse);
8588
BufferStrategy bs = frame.getBufferStrategy();
8689
if (bs == null) {
8790
frame.createBufferStrategy(3);
8891
return;
8992
}
90-
MouseListener Mouse = new Mouse();
91-
frame.addMouseMotionListener((MouseMotionListener) Mouse);
9293
Graphics g = bs.getDrawGraphics();
9394
g.setColor(Color.BLACK);
9495
g.fillRect(0, 0, frame.getWidth(), frame.getHeight());
9596
g.setColor(new Color(0xFF660000));
9697
g.fillRect(12, 12, (WIDTH*3)-30, (HEIGHT*3)-53);
9798
g.setColor(new Color(0xFFFF9900));
9899
g.setFont(font.getArial());
99-
g.drawString("Testing Phase...",35,30);
100+
if(isGameOver()){
101+
g.drawString("GAME OVER... What will you do now?",35,30);
102+
}else{
103+
g.drawString("Welcome to JavaGame",35,30);
104+
}
100105
g.drawLine(10, (HEIGHT*3)-40, 10, 10);
101106
g.drawLine(10, 10, (WIDTH*3)-17, 10);
102107
g.drawLine((WIDTH*3)-17, 10, (WIDTH*3)-17, (HEIGHT*3)-40);
103108
g.drawLine(10, (HEIGHT*3)-40, (WIDTH*3)-17, (HEIGHT*3)-40);
104109
//(LEFT,DOWN,WIDTH,HEIGHT)
105-
if (selectedStart == true){
110+
if (isSelectedStart() == true){
106111
//START
107-
g.setColor(selected);
112+
g.setColor(getSelected());
108113
g.fillRect(35, 35, (frame.getWidth()-70), 90);
109114
g.setColor(Color.BLACK);
110115
g.drawString("Start", 220, 85);
111116
//EXIT
112-
g.setColor(deSelected);
117+
g.setColor(getDeSelected());
113118
g.fillRect(35, 160, (frame.getWidth()-70), 90);
114119
g.setColor(Color.BLACK);
115120
g.drawString("Exit", 220, 210);
116-
} else if (selectedExit == true){
121+
} else if (isSelectedExit() == true){
117122
//START
118-
g.setColor(deSelected);
123+
g.setColor(getDeSelected());
119124
g.fillRect(35, 35, (frame.getWidth()-70), 90);
120125
g.setColor(Color.BLACK);
121126
g.drawString("Start", 220, 85);
122127
//EXIT
123-
g.setColor(selected);
128+
g.setColor(getSelected());
124129
g.fillRect(35, 160, (frame.getWidth()-70), 90);
125130
g.setColor(Color.BLACK);
126131
g.drawString("Exit", 220, 210);
127132
}else{
128133
//START
129-
g.setColor(deSelected);
134+
g.setColor(getDeSelected());
130135
g.fillRect(35, 35, (frame.getWidth()-70), 90);
131136
g.setColor(Color.BLACK);
132137
g.drawString("Start", 220, 85);
133138
//EXIT
134-
g.setColor(deSelected);
139+
g.setColor(getDeSelected());
135140
g.fillRect(35, 160, (frame.getWidth()-70), 90);
136141
g.setColor(Color.BLACK);
137142
g.drawString("Exit", 220, 210);
@@ -144,5 +149,69 @@ private void render() {
144149
public static void main(String[] args) {
145150
new Menu().start();
146151
}
152+
153+
public static DedicatedJFrame getFrame() {
154+
return Menu.frame;
155+
}
156+
157+
public static void setFrame(DedicatedJFrame frame) {
158+
Menu.frame = frame;
159+
}
160+
161+
public static boolean isRunning() {
162+
return running;
163+
}
164+
165+
public static void setRunning(boolean running) {
166+
Menu.running = running;
167+
}
168+
169+
public static boolean isSelectedStart() {
170+
return selectedStart;
171+
}
172+
173+
public static void setSelectedStart(boolean selectedStart) {
174+
Menu.selectedStart = selectedStart;
175+
}
176+
177+
public static boolean isSelectedExit() {
178+
return selectedExit;
179+
}
180+
181+
public static void setSelectedExit(boolean selectedExit) {
182+
Menu.selectedExit = selectedExit;
183+
}
184+
185+
public Color getSelected() {
186+
return selected;
187+
}
188+
189+
public void setSelected(Color selected) {
190+
this.selected = selected;
191+
}
192+
193+
public Color getDeSelected() {
194+
return deSelected;
195+
}
196+
197+
public void setDeSelected(Color deSelected) {
198+
this.deSelected = deSelected;
199+
}
200+
201+
public static int getWidth() {
202+
return WIDTH;
203+
}
204+
205+
public static int getHeight() {
206+
return HEIGHT;
207+
}
208+
209+
public static boolean isGameOver() {
210+
return gameOver;
211+
}
212+
213+
public static void setGameOver(boolean gameOver) {
214+
Menu.gameOver = gameOver;
215+
}
147216

148217
}

0 commit comments

Comments
 (0)