Main.java
Categorías: CategoryJava | CategoryProgramacion |
1 package savetheearthsk;
2
3 import java.awt.Color;
4 import sun.audio.*; //import the sun.audio package
5 import java.io.*;
6 import java.awt.FlowLayout;
7 import java.awt.Frame;
8 import java.io.FileInputStream;
9 import java.io.FileNotFoundException;
10 import java.io.IOException;
11 import java.io.ObjectInputStream;
12 import java.util.ArrayList;
13 import java.util.TreeMap;
14 import java.util.logging.Level;
15 import java.util.logging.Logger;
16 import javax.sound.sampled.AudioFormat;
17 import javax.sound.sampled.AudioInputStream;
18 import javax.sound.sampled.SourceDataLine;
19 import javax.swing.JButton;
20 import javax.swing.JOptionPane;
21
22 /**
23 *@author lina maria bermudez
24 * @author mario nicolas arcila
25 */
26 /** Main2 Aquella clase que muestra e inicializa la ventana a el cliente
27 *
28 */
29 public class Main {
30
31 private static Calaveragg1 calaveragg1;
32 private static Pared[] paredes;
33 private static Pared[] paredes1;
34 private static Pared[] paredes2;
35 private static Pared[] paredes3;
36 private static EscuchaVentana escuchaVentana;
37 private Pared[] pared;
38 AudioFormat audioFormat;
39 AudioInputStream audioInputStream;
40 SourceDataLine sourceDataLine;
41 JButton play = new JButton();
42 public static Frame marco;
43 public static boolean archivosCar = false;
44
45 /**
46 * Aqui se define todo el codigo logico que va dentro del main
47 * @param args Para darle paramentros a la linea de comando
48 *
49 */
50 public static void main(String[] args) throws FileNotFoundException, IOException {
51
52
53 Configuraciones configuraciones = new Configuraciones();
54
55
56 //intnto 1
57
58
59
60
61 TreeMap<Integer, Puntaje> puntajes = new TreeMap<Integer, Puntaje>(new Comparador());
62
63 // Leer nombre del jugador
64
65 /* BufferedReader lector = new BufferedReader(new InputStreamReader(System.in));
66 System.out.print("digite el nombre del jugador: ");
67 String nombreJugador = null;
68 try {
69 nombreJugador = lector.readLine();
70 } catch (IOException e) {
71 System.err.println("error al leer el nombre");
72 }
73 */
74 String nombreJugador = JOptionPane.showInputDialog("inserte nombre jugador");
75
76 //cargar configuraciones
77
78
79 try {
80
81 ObjectInputStream confi = new ObjectInputStream(new FileInputStream(configuraciones.nomArchConf));
82 configuraciones = (Configuraciones) confi.readObject();
83 confi.close();
84 archivosCar = true;
85
86 } catch (ClassNotFoundException ex) {
87 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
88 } catch (FileNotFoundException f) {
89 System.err.println("No existe el archivo de configuración, creandolo .......");
90 } catch (IOException f) {
91 System.err.println("error al leer archivo");
92 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, f);
93
94 }
95
96
97 // Leer archivo de puntajes
98
99
100 try {
101 ObjectInputStream archivo = new ObjectInputStream(new FileInputStream("juego.dat"));
102 puntajes = (TreeMap<Integer, Puntaje>) archivo.readObject();
103 archivo.close();
104 } catch (ClassNotFoundException ex) {
105 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
106 } catch (FileNotFoundException e) {
107 } catch (IOException e) {
108 System.err.println("error al leer archivo");
109 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, e);
110
111 }
112
113 // Imprimir puntajes
114
115 System.out.println("Puntajes");
116 for (Puntaje p : puntajes.values()) {
117 System.out.println(p);
118 }
119
120 //Frame marco = new Frame("SaveTheEarthSk");
121 marco = new Frame("SaveTheEarthSk");
122
123 Cañon cañon;
124 cañon = new Cañon(350, 660, 100, 140);
125 marco.setSize(1280, 1000);
126 Cañi cañi;
127 cañi = new Cañi(100, 660, 100, 130);
128 marco.setSize(1280, 1000);
129 Lienzo lienzo = new Lienzo();
130 marco.add(lienzo);
131 marco.setBackground(Color.getHSBColor(40, 210, 31));
132 lienzo.add(cañon);
133 lienzo.add(cañi);
134 Puntaje puntaje = new Puntaje(650, 720, 180, 150, nombreJugador);
135 lienzo.add(puntaje);
136 Cronometro cronometro = new Cronometro(650, 500, 180, 75, lienzo, escuchaVentana, puntajes, puntaje, configuraciones);
137 lienzo.add(cronometro);
138 Thread hiloCronometro = new Thread(cronometro);
139
140 Frame ventanita = new Frame("EsPuntaje");
141 ventanita.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
142 ventanita.setSize(200, 100);
143 ventanita.add(lienzo);
144
145 Thread hiloCalaveragg1 = new Thread(calaveragg1);
146 hiloCalaveragg1.start();
147
148 // Thread hiloCronometro = new Thread(cronometro);
149 //hiloCronometro.start();
150
151 // Thread hiloCronometro = new Thread(cronometro);
152
153
154 marco.add(lienzo);
155
156
157
158
159
160 paredes = new Pared[7];
161 for (int i = 0; i < paredes.length; i++) {
162 paredes[i] = new Pared(i * 200, 0, 250, 40);
163 lienzo.add(paredes[i]);
164
165 }
166 paredes1 = new Pared[7];
167 for (int i = 0; i < paredes.length; i++) {
168 paredes1[i] = new Pared(i * 200, 800, 200, 50);
169 lienzo.add(paredes1[i]);
170
171
172 }
173 paredes2 = new Pared[7];
174 for (int i = 0; i < paredes.length; i++) {
175 paredes2[i] = new Pared(i * 0, 0, 30, 800);
176 lienzo.add(paredes2[i]);
177
178
179 }
180 paredes3 = new Pared[7];
181 for (int i = 0; i < paredes.length; i++) {
182 paredes3[i] = new Pared(i * 1030, 0, 30, 800);
183 lienzo.add(paredes3[i]);
184
185
186 }
187
188
189 ArrayList<Calaveragg1> calaveras = new ArrayList<Calaveragg1>();
190
191 Calaveragg1 calaveragg;
192 for (int i = 0; i < 4; i++) {
193 for (int j = 0; j < 11; j++) {
194 calaveragg = new Calaveragg1(j * 90 + 40, i * 100 + 50, 85, 85, configuraciones.colores[(int) (Math.random() * 3)], paredes, lienzo, calaveras, puntaje);
195 calaveras.add(calaveragg);
196 lienzo.add(calaveragg);
197 }
198 }
199
200
201 FormConfi formConfi = new FormConfi(hiloCronometro, calaveras, configuraciones);
202 formConfi.setVisible(false);
203
204
205 EsPuntaje espuntajes = new EsPuntaje(50, 50, 50, 50, puntajes, formConfi, cañon, lienzo, calaveragg1, calaveras, paredes, puntaje, paredes1, paredes2, paredes3, hiloCronometro, configuraciones);
206
207 //SONIDO
208
209 if (configuraciones.sonido == true) {
210
211 InputStream in = new FileInputStream("BT.mid");
212 AudioStream as = new AudioStream(in);
213 AudioPlayer.player.start(as);
214 }
215 if (configuraciones.sonido == false) {
216 JOptionPane.showMessageDialog(null, "sonido no habilitado");
217 }
218 //AudioPlayer.player.stop(as);
219
220
221
222 // marco.addKeyListener(new EscuchaTeclas(cañon, lienzo, paredes, paredes1, paredes2, paredes3, calaveras, puntaje,configuraciones));
223
224 //EscuchaMoverMouse escuchaMoverMouse = new EscuchaMoverMouse(cañon, lienzo, calaveragg1);
225 //lienzo.addMouseMotionListener(escuchaMoverMouse);
226 //lienzo.addMouseListener(new EscuchaMouse(calaveragg1, cañon, lienzo, calaveras, paredes, puntaje, paredes1, paredes2, paredes3, escuchaMoverMouse));
227
228 marco.setSize(1050, 850);
229 marco.addWindowListener(new EscuchaVentana(puntajes, puntaje));
230 Thread threadServidor = new Thread(new Servidor(cañi, lienzo));
231 threadServidor.start();
232
233 }
234 }
