Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class G4E4MisionEjercicio1 {
- /*
- * Lleva una Nave anclada en la Base y recolecta 10 de ANTIMATERIA de cada
- * uno de los Contenedores que existen en el mapa. Luego de cargar en el
- * último contenedor, si su nivel de carga es 100 regresa a la base y
- * descarga la ANTIMATERIA.
- */
- Nave naveSigma = new Nave();
- Radar radarSigma = naveSigma.obtenerRadar();
- Monitor monitorSigma = naveSigma.obtenerMonitor();
- /*
- * El constructor opera con la nave naveSigma: la hace despegar y avanzar al norte.
- */
- G4E4MisionEjercicio1() {
- naveSigma.despegar();
- naveSigma.avanzarAlNorte();
- }
- void ejecutar(){
- DestruirYAvanzarNorte (naveSigma, radarSigma);
- /* Avanzo hacie el este destruyendo los asteroides y cargando antimateria. */
- for (int i=0; i<10; i++){
- DestruirYAvanzarEste (naveSigma, radarSigma);
- CargarAntimateriaNorte (naveSigma, radarSigma);
- }
- /* Muevo la nave dos líneas al norte. */
- naveSigma.avanzarAlEste();
- for (int i=0; i<2; i++){
- naveSigma.avanzarAlNorte();
- }
- naveSigma.avanzarAlOeste();
- /* Avanzo hacia el oeste cargando antimateria. */
- for (int i=0; i<10; i++){
- naveSigma.avanzarAlOeste();
- CargarAntimateriaNorte (naveSigma, radarSigma);
- }
- /*
- * Consulto si la carga de Antimateria es igual a 100. Si es así,
- * invoco el métedo RegresarABaseYDescargar.
- */
- if (monitorSigma.consultarCarga(Sustancia.ANTIMATERIA) == 100){
- RegresarABaseYDescargar (naveSigma);
- }
- }
- void DestruirYAvanzarNorte (Nave naveX, Radar radarX){
- radarX= naveX.obtenerRadar();
- while (radarX.escanearNorte() == Espectro.ASTEROIDE){
- naveX.atacarAlNorte();
- }
- naveX.avanzarAlNorte();
- }
- void DestruirYAvanzarEste (Nave naveX, Radar radarX){
- radarX= naveX.obtenerRadar();
- while (radarX.escanearEste() == Espectro.ASTEROIDE){
- naveX.atacarAlEste();
- }
- naveX.avanzarAlEste();
- }
- void CargarAntimateriaNorte (Nave naveX, Radar radarX){
- if (radarX.escanearNorte() == Espectro.CONTENEDOR){
- naveX.cargarDesdeNorte(Sustancia.ANTIMATERIA, 10);
- }
- }
- void RegresarABaseYDescargar (Nave naveX){
- for (int i=0; i<3; i++){
- naveX.avanzarAlSur();
- }
- naveX.descargarEnSur(Sustancia.ANTIMATERIA, 100);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment