Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ee.ttu.algoritmid.dancers;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in); // Scanner käikude ja kaardi parameetrite lugemiseks
- int[] parameters = readInitialParameters(scanner); // Kaardi parameetrid array kujul
- int fieldHeight = parameters[0]; // Kaardi kõrgus
- int fieldWidth = parameters[1]; // Kaardi laius
- int numberOfBombs = parameters[2]; // Pommide arv
- char[][] map = new char[fieldHeight][fieldWidth];
- for (int i = 0; i < fieldHeight; i++) {
- for (int j = 0; j < fieldWidth; j++) {
- map[i][j] = '.'; // Täidab kaardi array punktidega
- }
- }
- for (int i = 0; i < numberOfBombs; i++) { // Loop käib nii mitu korda kui pomme on
- int x = (int)(Math.random() * fieldHeight);
- int y = (int)(Math.random() * fieldWidth);
- if (map[x][y] != 'B') {
- map[x][y] = 'B'; // Täidab kaardi array pommidega
- } else {
- i--; // Kui selle koha peal on juba pomm, siis see ring ei lähe arvesse
- }
- }
- for (int i = 0; i < fieldHeight; i++) { //Trükib kaardi välja
- for (int j = 0; j < fieldWidth; j++) {
- System.out.print(map[i][j] + " ");
- }
- System.out.println();
- }
- int[] move = readGuessInput(scanner); // Käik array kujul
- int x = move[0]; // Käigu x koordinaat
- int y = move[1]; // Käigu y koordinaat
- /*
- * Siia tuleb mäng ise.
- *
- * Mängu jooksul peaksid pommid kaardil varjatud olema.
- *
- * Kui käiakse kohale kus on pomm, siis näidatakse koordil edaspidi seda pommi
- *
- * Kui käiakse pommist mööda, siis tuleb käidud koha peale number,
- * mis näitab kui kaugel on kõige lähemal asuv pomm.
- * Need numbrid jäävad kaardile.
- *
- * Peale igat käiku tuleb
- * öelda mitu käiku tehtud on:
- * öelda mitu aaret veel alles on
- * kaart uuesti välja trükkida
- * uue käigu koordinaadid küsida
- *
- * Kui kõik pommid on üles leitud, saab mäng läbi.
- */
- }
- // Siit edasi ei pea midagi muutma
- public static int[] readGuessInput(Scanner scanner) { // Meetod käigu lugemiseks
- int[] parameters;
- System.out.print("Sisestage ruut kus aaret otsida (näiteks 1,1): ");
- String parameterInput = scanner.nextLine();
- parameters = splitInputStructureToIntArray(parameterInput);
- return parameters;
- }
- public static int[] readInitialParameters(Scanner scanner) { // Meetod kaardi andmete lugemiseks
- int[] parameters;
- System.out.print("Sisestage kõrgus, laius, pommide arv (näiteks: 2,2,1): ");
- String parameterInput = scanner.nextLine();
- parameters = splitInputStructureToIntArray(parameterInput);
- return parameters;
- }
- public static int[] splitInputStructureToIntArray(String input) { // Meetod Stringi tükkideks jagamiseks
- String[] splitParts = input.replaceAll(" ", "").split(",");
- int[] parameters = new int[splitParts.length];
- for (int i = 0; i < splitParts.length; i++) {
- try {
- parameters[i] = Integer.parseInt(splitParts[i]);
- } catch (NumberFormatException e) {
- parameters[i] = -1;
- }
- }
- return parameters;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement