My Project
 Todo Clases Archivos Funciones Variables
Mundo.java
Ir a la documentación de este archivo.
1 import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
2 
10 public class Mundo extends World
11 {
12  private int nivel; //Variable utilizada para saber el nivel en que se encuentra.
13  private int band; //Bandera que indica si el juego se necesita inicializar.
14  private Vidas vid; //Objeto de la clase Vidas que indica las vidas.
15  private Tiempo tiem; //Objecto de la clase tiempo que indica el tiempo restante.
16  private int band2; //Variable que indica en que momento se añade un reloj al mundo
17  private int primer; //Variable que indica en que momento se debe de enviar un perro.
18  private int prim; //Variable que indica que el proceso de selección del menu esta terminado.
19  private int pier; //Variable que indica que todas las vidas se terminaron y el juego debe detenerse.
20 
24  public Mundo()
25  {
26  super(800, 400, 1);
27  nivel = 1;
28  pier = 0;
29  band = 0;
30  band2 = 0;
31  primer = 0;
32  }
33 
37  public void act()
38  {
39  if(prim == 0)
40  menu();
41  else if(prim == 2)
42  {
43  if(band == 0)
44  inicializa();
45  else if(nivel == 1)
46  {
47  nivel1();
48  enviaPrimero();
49  }
50  else if(nivel == 2)
51  {
52  nivel2();
53  enviaPrimero();
54  }
55  else if(nivel == 3)
56  {
57  nivel3();
58  enviaPrimero();
59  }
60  }
61  }
62 
66  public void menu()
67  {
68  addObject(new Portada(),400,200);
69  addObject(new LetraPort(),566,225);
70  addObject(new LetraAy(0),624,293);
71  prim = 1;
72  }
73 
77  public void nivel1()
78  {
79  if(band2 == 1)
80  {
81  if(Greenfoot.getRandomNumber(2) == 1)
82  {
83  addObject(new Reloj(),799,Greenfoot.getRandomNumber(260) + 64);
84  band2 = 0;
85  }
86  }
87  }
88 
92  public void nivel2()
93  {
94  if(Greenfoot.getRandomNumber(100) == 0)
95  {
96  if(Greenfoot.getRandomNumber(2) == 0)
97  {
98  if(Greenfoot.getRandomNumber(2) == 0)
99  addObject(new Perro(0),799,336);
100  else
101  addObject(new Perro(1),799,64);
102  }
103  else
104  {
105  if(Greenfoot.getRandomNumber(2) == 0)
106  addObject(new Persona(0),799,317);
107  else
108  addObject(new Persona(1),799,83);
109  }
110  }
111  if(band2 == 1)
112  {
113  if(Greenfoot.getRandomNumber(100) == 1)
114  {
115  addObject(new Reloj(),799,Greenfoot.getRandomNumber(260) + 64);
116  band2 = 0;
117  }
118  }
119  }
120 
124  public void nivel3()
125  {
126  if(Greenfoot.getRandomNumber(100) == 0)
127  {
128  if(Greenfoot.getRandomNumber(2) == 0)
129  {
130  if(Greenfoot.getRandomNumber(2) == 0)
131  addObject(new Perro(0),799,336);
132  else
133  addObject(new Perro(1),799,64);
134  }
135  else
136  {
137  if(Greenfoot.getRandomNumber(2) == 0)
138  addObject(new Persona(0),799,317);
139  else
140  addObject(new Persona(1),799,83);
141  }
142  }
143  }
144 
148  public void incrementaNivel()
149  {
150  nivel ++;
151  if(nivel == 4)
152  {
153  removeObjects(getObjects(null));
154  addObject(new Textos(2),400,200);
155  Greenfoot.delay(100);
156  removeObjects(getObjects(Textos.class));
157  Greenfoot.stop();
158  }
159  addObject(new Textos(1),400,200);
160  Greenfoot.delay(100);
161  removeObjects(getObjects(null));
162  band = 0;
163  }
164 
168  public void inicializa()
169  {
170  addObject(new Barra(),super.getHeight(),20);
171  addObject(new Barra(),super.getHeight(),380);
172  addObject(new Personaje(),98,332);
173  addObject(new Letra("Tiempo"),30,70);
174  addObject(new Letra("Metros"),30,110);
175  addObject(new Letra("Vidas"),30,150);
176  addObject(new Letra(nivel),super.getHeight(),20);
177  addObject(new Numero(),35,130);
178  vid = new Vidas();
179  addObject(vid,35,170);
180  tiem = new Tiempo();
181  addObject(tiem,35,90);
182  band = 1;
183  }
184 
189  public void pierdeVida(Personaje obj)
190  {
191  removeObject(obj);
192  addObject(new Textos(0),400,200);
193  Greenfoot.delay(100);
194  removeObjects(getObjects(Textos.class));
195  removeObjects(getObjects(Reloj.class));
196  removeObjects(getObjects(Enemigo.class));
197  removeObjects(getObjects(Numero.class));
198  vid.disminuyeVida();
199  if(pier == 0)
200  reset();
201  else
202  Greenfoot.stop();
203  }
204 
209  public void pierdeVida2(Personaje obj)
210  {
211  removeObject(obj);
212  addObject(new Textos(0),400,200);
213  Greenfoot.delay(100);
214  removeObjects(getObjects(Textos.class));
215  removeObjects(getObjects(Enemigo.class));
216  removeObjects(getObjects(Reloj.class));
217  removeObjects(getObjects(Numero.class));
218  vid.disminuyeVida();
219  tiem.pierdeTiempo();
220  if(pier == 0)
221  reset();
222  else
223  Greenfoot.stop();
224  }
225 
229  public void reset()
230  {
231  addObject(new Personaje(),98,332);
232  addObject(new Numero(),35,130);
233  primer = 0;
234  }
235 
239  public void mandaTiempo()
240  {
241  band2 = 1;
242  }
243 
247  public void enviaPrimero()
248  {
249  if(primer == 0)
250  {
251  addObject(new Reloj(),799,Greenfoot.getRandomNumber(260) + 64);
252  addObject(new Perro(0),799,336);
253  primer = 1;
254  }
255  }
256 
260  public void incrementa()
261  {
262  tiem.incrementaTiempo();
263  }
264 
269  public void mandaPolicia(int valor)
270  {
271  if(valor == 0)
272  addObject(new Policia(valor),799,301);
273  else
274  addObject(new Policia(valor),799,100);
275  }
276 
280  public void comiezaJuego()
281  {
282  removeObjects(getObjects(null));
283  prim = 2;
284  }
285 
289  public void pierdes()
290  {
291  removeObjects(getObjects(null));
292  addObject(new Textos(3),400,200);
293  Greenfoot.delay(100);
294  pier = 1;
295  }
296 
300  public void enviaPerro()
301  {
302  if(Greenfoot.getRandomNumber(2) == 0)
303  addObject(new Perro(0),799,336);
304  else
305  addObject(new Perro(1),799,64);
306  }
307 }