Skip to content

manuelzambrana/mi-programa-favorito-en-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

mi-programa-favorito-en-java

A lo largo del curso he aprendido mucho, pero hay un programa que me ha emocionado mucho. El cual es el siguiente:

package tema07;

import java.util.Scanner;

/**
 *
 * @author manue
 */
public class Ejercicio7bidimensional {

    static final int vacio = 0;
    static final int mina = 1;
    static final int tesoro = 2;
    static final int intento = 3;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int x = 0;
        int y = 0;
        int[][] array = new int[5][4];
        Scanner s = new Scanner(System.in);
        for (x = 0; x < 4; x++) {
            for (y = 0; y < 3; y++) {
                array[x][y] = vacio;
            }
        }
        int minaX = (int) (Math.random() * 4);
        int minaY = (int) (Math.random() * 3);
        array[minaX][minaY] = mina;

        int tesoroX;
        int tesoroY;

        do {
            tesoroX = (int) (Math.random() * 4);
            tesoroY = (int) (Math.random() * 3);

        } while ((tesoroX == minaX) && (tesoroY == minaY));
        array[tesoroX][tesoroY] = tesoro;
   

        System.out.println("busca el tesoro");
        boolean acabarJuego = false;
        String c="";
        do {
            for (y = 3; y >= 0; y--) {
                System.out.print("|");
                for (x = 0; x < 5; x++) {
                    if (array[x][y] == intento) {
                        System.out.print("X ");
                    } 

                }
                System.out.println();
            }
            System.out.println(" ----------\n 0 1 2 3 4\n");
            System.out.print("Coordenada x: ");
            x = s.nextInt();
            System.out.print("Coordenada y: ");
            y = s.nextInt();
            switch (array[x][y]) {
                case vacio:
                    array[x][y] = intento;
                    if((Math.abs(x-minaX)<2)&&(Math.abs(y-minaY)<2)){
                        System.out.println("cuidado hay una mina cerca");
                    }
                    break;
                case mina:
                    System.out.println("Lo siento, has perdido.");
                    acabarJuego = true;
                    break;
                case tesoro:
                    System.out.println("Enhorabuena, has encontrado el tesoro.");
                    acabarJuego = true;
                    break;
                default:
            }
        } while (!acabarJuego);
       
        for (y = 3; y >= 0; y--) {
            System.out.print(y + " ");
            for (x = 0; x < 5; x++) {
                switch (array[x][y]) {
                    case vacio:
                        c = " ";
                        break;
                    case mina:
                        c = "* ";
                        break;
                    case tesoro:
                        c = "€ ";
                        break;
                    case intento:
                        c = "x ";
                        break;
                    default:
                }
                System.out.print(c);
            }
            System.out.println();
        }
        System.out.println(" ----------\n 0 1 2 3 4\n");
        
    }

}

El codigo de este programa me ha encantado porque es una especie de buscaminas El cual mediante dos cordenadas tenemos que buscar un tesoro para ganar, pero también nos podemos encontrar con una mina la cual nos haría perder.

A continuación podeis ver un ejemplo:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published