Cómo habilitar coordenadas de un punto como una entrada

depilación con cera:

Recientemente he comenzado a desarrollar una básica "acorazado" juego en Java .

Ya he creado el campo de juego que contiene la posición de cada barco. Ahora, me gustaría que el usuario pueda proporcionar el programa con una coordenada. Si la pregunta de coordenadas en se solapa con la posición de un buque, de ese buque debe ser retirado de la shipscola.

Ya he probado a cabo la Scannerclase en el java.utilpaquete en vano. Sería muy bueno si alguien podría por favor me ayude con la interpretación de una de coordenadas bidimensionales en una corriente basada en texto. La sintaxis de una coordenada debe ser de la siguiente manera: x, y. Bastante sencillo, ¿verdad?

public static void main(String[] args)
{
    // Position ships.
    Scanner scanner = new Scanner(System.in).next();
    List<Point> ships = new ArrayList<>(5);
    ships.add(new Point(2, 1));
    ships.add(new Point(3, 2));
    ships.add(new Point(10, 4));
    ships.add(new Point(7, 6));
    ships.add(new Point(8, 4));
    while(true)
    {
        // Check status.
        if(ships.length > 0)
        {
            // Check if a field is containing a ship.
            for(int y = 0; y < 10; y++)
            {
                for(int x = 0; x < 40; x++)
                {
                    if (ships.contains(new Point(x, y)))
                    {
                        System.out.print('S');
                    }
                    else
                    { 
                        System.out.print('.');
                    }
                }
                System.out.println();
            }
            // TODO: Query the input of the user.
            final String input = scanner.next();
        }
        else
        {
            System.out.println("You won the game!");
            break;
        }
    }
}
Detalles y:
  1. Crear un escáner objeto de conseguir la entrada de jugador
  2. Leer valores x e y
  3. Comprobar si se golpea o no

Pista: Poner los pasos 2 y 3 en un bucle

public static void main(String[] args) {
    Point[] shipPositions = new Point[5];
    shipPositions[0] = new Point(2, 1);
    shipPositions[1] = new Point(3, 2);
    shipPositions[2] = new Point(10, 4);
    shipPositions[3] = new Point(7, 6);
    shipPositions[4] = new Point(8, 4);

    //Player input
    System.out.println("Coordinates needed");
    Scanner in = new Scanner(System.in);
    int x, y;

    System.out.print("x=");
    x = in.nextInt();
    System.out.print("y=");
    y = in.nextInt();

    Point p = new Point(x, y);

    if (Arrays.asList(shipPositions).contains(p)) {
        System.out.print("Hit");
    } else {
        System.out.print("Miss");
    }
}

Ejemplo

Coordinates needed
x=2
y=1
Hit

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=284325&siteId=1
Recomendado
Clasificación