@@ -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