Доброго вечерa всем! Ребята, очень прошу прощения за мой индусский код. К сожалению не имею образования разработчика и спросить банально не у кого.
Разрабатываю крайне простой вариант сапера. Цель - найти 2 бомбы на 8-ми клетках.
Каждый раз после успешного шага возникает потребность перерисовать поле.
Делаю это кодом приведенным ниже:
int[] pole = {0,1,2,3,4};
String[] poleOne = {"A","X","X","X","X"};
int [] poleOneInt = {0, 0, 0, 0, 0};
String[] poleTwo = {"B","X","X","X","X"};
int [] poleTwoInt = {0, 0, 0, 0, 0};
System.out.println(pole[0] + " " + pole[1] + " " + pole[2] + " " + pole [3] + " " + pole[4]);
System.out.println(poleOne[0] + " " + poleOne[1] + " " + poleOne[2] + " " + poleOne[3] + " " + poleOne[4]);
System.out.println(poleTwo[0] + " " + poleTwo[1] + " " + poleTwo[2] + " " + poleTwo[3] + " " + poleTwo[4]);
Из условия логично, что этот код мне нужно будет вывести 7 раз (5 раз с изменениями. Если на выбранной клетке бомбы нет, я изменяю символ "Х" на " " ).
Проблема в том, что я не могу организовать его в метод. Делал все по видеоурокам и статьям, но как бы не изменял получаю ошибку. Буду ну очень признателен если подскажете, как это сделать. (Буду также рад советам как упростить программу).
Полный код программы:
package com.company;
import java.lang.invoke.SwitchPoint;
import java.util.Scanner;
import java.util.Random;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] pole = {0,1,2,3,4};
String[] poleOne = {"A","X","X","X","X"};
int [] poleOneInt = {0, 0, 0, 0, 0};
String[] poleTwo = {"B","X","X","X","X"};
int [] poleTwoInt = {0, 0, 0, 0, 0};
System.out.println(pole[0] + " " + pole[1] + " " + pole[2] + " " + pole [3] + " " + pole[4]);
System.out.println(poleOne[0] + " " + poleOne[1] + " " + poleOne[2] + " " + poleOne[3] + " " + poleOne[4]);
System.out.println(poleTwo[0] + " " + poleTwo[1] + " " + poleTwo[2] + " " + poleTwo[3] + " " + poleTwo[4]);
Random rbombOne = new Random();
int bombOne = rbombOne.nextInt(4)+1;
poleOneInt [bombOne] = bombOne;
//проверка где бомба, для отладки
System.out.println("бомба в " + bombOne);
Random rbombTwo = new Random();
int bombTwo = rbombTwo.nextInt(4)+1;
poleTwoInt [bombTwo] = bombTwo;
//проверка где бомба, для отладки
System.out.println("бомба в " + bombTwo);
System.out.println("Введите строку в формате А или B: ");
Scanner sPole = new Scanner(System.in);
String scanLetter = sPole.next();
switch (scanLetter) {
case "A":
System.out.println("Введите номер столбца от 1 до 5: ");
Scanner sNum = new Scanner(System.in);
int scanNum = sNum.nextInt();
if (poleOneInt[scanNum] > 0 ){
System.out.println("Booooooom! You Lose");}
poleOne[scanNum] = " ";
break;
case "B":
System.out.println("Введите номер столбца от 1 до 5: ");
Scanner s2Num = new Scanner(System.in);
int scan2Num = s2Num.nextInt();
if (poleTwoInt[scan2Num] > 0 ){
System.out.println("Booooooom! You Lose");}
poleTwo[scan2Num] = " ";
break;
}
System.out.println(pole[0] + " " + pole[1] + " " + pole[2] + " " + pole [3] + " " + pole[4]);
System.out.println(poleOne[0] + " " + poleOne[1] + " " + poleOne[2] + " " + poleOne[3] + " " + poleOne[4]);
System.out.println(poleTwo[0] + " " + poleTwo[1] + " " + poleTwo[2] + " " + poleTwo[3] + " " + poleTwo[4]);
}
}