EsPuntaje.java
Categorías: CategoryJava | CategoryProgramacion |
1 /*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5 package savetheearthsk;
6
7 import java.awt.Button;
8 import java.awt.Color;
9 import java.awt.Font;
10 import java.awt.Frame;
11 import java.awt.Graphics;
12 import java.awt.Label;
13 import java.awt.event.ActionEvent;
14 import java.awt.event.ActionListener;
15 import java.awt.event.WindowEvent;
16 import java.io.FileNotFoundException;
17 import java.io.IOException;
18 import java.util.ArrayList;
19 import java.util.Iterator;
20 import java.util.Map;
21 import javax.swing.BoxLayout;
22 import javax.swing.JButton;
23
24 /**
25 * @author Lina Maria Angelica Bermudez Leon
26 * @author Mario Nicolas Arcila Escobar
27 */
28 /** esta clase es la que nos muestra la ventana de puntajes y configuraciones
29 */
30 public class EsPuntaje extends ObjetoGrafico {
31
32 Frame frame = new Frame("puntajes");
33 public Map<Integer, Puntaje> puntajes;
34 private String ips;
35 private final FormConfi formConfi;
36 private Cañon cañon;
37 private Lienzo lienzo;
38 private Calaveragg1 calaveragg1;
39 private Pared[] paredes;
40 private Puntaje puntaje;
41 private Pared[] paredes1;
42 private Pared[] paredes2;
43 private Pared[] paredes3;
44 private ArrayList<Calaveragg1> calaveras;
45 private Thread hiloCronometro;
46 private Configuraciones configuraciones;
47
48 /**
49 *
50 * @param x posicion de espuntaje
51 * @param y posicion de espuntaje
52 * @param ancho el ancho de el espuntaje
53 * @param alto la altura de el espuntaje
54 * @param puntajes es una clase
55
56 * @param formConfi Clase de agregacion de La ventana de Configuraciones
57 * @param cañon Objeto grafico el cual muestra el cañon
58 * @param lienzo es una clase en la cual se muestra cada una de las clases graficas
59 * @param calaveragg1
60 * @param calaveras es el arreglo para ubicar las calaberas
61 * @param pared es el objeto grafico que no se le asigna movimiento
62 * @param puntaje
63 * @param paredes1 es el objeto grafico que no se le asigna movimiento
64 * @param paredes2 es el objeto grafico que no se le asigna movimiento
65 * @param paredes3 es el objeto grafico que no se le asigna movimiento
66 * @param hiloCronometro Es el hilo que se utiliza para la cuenta regresiva
67 * @param configuraciones Esa la clase donde se encuentran todas las configuraciones que se pueden modificar por el usuario
68 * @throws FileNotFoundException Envia error si no encuetra archivos
69 * @throws IOException envia Error al grabar o leer archivos
70 */
71 public EsPuntaje(int x, int y, int ancho, int alto, Map<Integer, Puntaje> puntajes, final FormConfi formConfi, final Cañon cañon, final Lienzo lienzo, final Calaveragg1 calaveragg1, final ArrayList<Calaveragg1> calaveras, Pared[] pared, final Puntaje puntaje, final Pared[] paredes1, final Pared[] paredes2, final Pared[] paredes3, final Thread hiloCronometro, final Configuraciones configuraciones) throws FileNotFoundException, IOException {
72 super(x, y, ancho, alto);
73 this.formConfi = formConfi;
74 this.cañon = cañon;
75 this.lienzo = lienzo;
76 this.calaveragg1 = calaveragg1;
77 this.hiloCronometro = hiloCronometro;
78 this.calaveras = calaveras;
79 this.paredes = pared;
80 this.paredes1 = paredes1;
81 this.paredes2 = paredes2;
82 this.paredes3 = paredes3;
83 this.configuraciones = configuraciones;
84
85
86 frame.setLayout(new BoxLayout(frame, BoxLayout.Y_AXIS));
87 frame.add(new Label("PunTaJeS"));
88
89
90
91
92
93 for (Iterator<Map.Entry<Integer, Puntaje>> it1 = puntajes.entrySet().iterator(); it1.hasNext();) {
94
95 Map.Entry<Integer, Puntaje> p = it1.next();
96 frame.add(new Label("" + p.getValue()));
97
98 }
99 //frame.addWindowListener(new EscuchaVentana(puntajes, null));
100 frame.addWindowListener(new EscuchaVentanita());
101 frame.setBounds(400, 200, 170, 900);
102 frame.setSize(170, 400);
103 frame.setVisible(true);
104 JButton button = new JButton(" Iniciar Juego ");
105 button.setBounds(x, y, 25, 200);
106 frame.add(button);
107
108
109
110 button.addActionListener(new ActionListener() {
111
112 public void windowClosing(WindowEvent a) {
113 }
114
115 public void actionPerformed(ActionEvent e) {
116
117 frame.setVisible(false);
118 Main main = new Main();
119 main.marco.setVisible(true);
120
121 hiloCronometro.start();
122
123 if (configuraciones.teclado == true) {
124 EscuchaTeclas escuchaTeclas = new EscuchaTeclas(cañon, lienzo, paredes, paredes1, paredes2, paredes3, calaveras, puntaje, configuraciones);
125 main.marco.addKeyListener(escuchaTeclas);
126
127 }
128 if (configuraciones.mouse == true) {
129 EscuchaMoverMouse escuchaMoverMouse = new EscuchaMoverMouse(cañon, lienzo, calaveragg1, configuraciones);
130 lienzo.addMouseMotionListener(escuchaMoverMouse);
131 lienzo.addMouseListener(new EscuchaMouse(calaveragg1, cañon, lienzo, calaveras, paredes, puntaje, paredes1, paredes2, paredes3, escuchaMoverMouse, configuraciones));
132 }
133
134 }
135 });
136
137 JButton botonsito = new JButton("Configuración");
138 botonsito.setBounds(x, y, 25, 200);
139 frame.add(botonsito);
140 botonsito.addActionListener(new ActionListener() {
141
142 public void actionPerformed(ActionEvent e) {
143
144
145 formConfi.setVisible(true);
146
147 }
148 });
149
150
151
152
153
154
155 this.puntajes = puntajes;
156 }
157
158 /** Es el metodo para pintar la pared
159 * @param g es la clase base para todo contexto grafico
160 */
161 public void paint(Graphics g) {
162
163 //puntaje
164 g.setColor(new Color(0, 0, 0));
165 g.setFont(new Font("Algerian", Font.BOLD, 30));
166
167
168 }
169
170 @Override
171 public String toString() {
172
173 return ips;
174 }
175 }
