Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package StacksAndQueues;
- import java.util.Scanner;
- public class BombField {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = Integer.parseInt(scanner.nextLine());
- String[] commands = scanner.nextLine().split(",");
- char[][] field = new char[n][n];
- int boomdsCount = 0;
- int[] exit = new int[2];
- int[] sapper = new int[2];
- boolean end = false;
- for (int i = 0; i < n; i++) {
- String line = scanner.nextLine().trim().replaceAll(" ", "");
- char[] chars = line.toCharArray();
- for (int j = 0; j < chars.length; j++) {
- if (chars[j] == 'B') {
- boomdsCount++;
- } else if (chars[j] == 'e') {
- exit[0] = i;
- exit[1] = j;
- } else if (chars[j] == 's') {
- sapper[0] = i;
- sapper[1] = j;
- }
- field[i][j] = chars[j];
- }
- }
- for (int i = 0; i < commands.length; i++) {
- switch (commands[i]) {
- case "left":
- if (sapper[1] != 0) {
- if (field[sapper[0]][sapper[1] - 1] == 'B') {
- System.out.println("You found a bomb!");
- field[sapper[0]][sapper[1] - 1] = '+';
- boomdsCount--;
- sapper[1]--;
- } else {
- sapper[1]--;
- }
- }
- break;
- case "right":
- if (sapper[1] != n - 1) {
- if (field[sapper[0]][sapper[1] + 1] == 'B') {
- System.out.println("You found a bomb!");
- field[sapper[0]][sapper[1] + 1] = '+';
- boomdsCount--;
- sapper[1]++;
- } else {
- sapper[1]++;
- }
- }
- break;
- case "up":
- if (sapper[0] != 0) {
- if (field[sapper[0] - 1][sapper[1]] == 'B') {
- System.out.println("You found a bomb!");
- field[sapper[0] - 1][sapper[1]] = '+';
- boomdsCount--;
- sapper[0]--;
- } else {
- sapper[0]--;
- }
- }
- break;
- case "down":
- if (sapper[0] != n - 1) {
- if (field[sapper[0] + 1][sapper[1]] == 'B') {
- System.out.println("You found a bomb!");
- field[sapper[0] + 1][sapper[1]] = '+';
- boomdsCount--;
- sapper[0]++;
- } else {
- sapper[0]++;
- }
- }
- break;
- }
- if (boomdsCount == 0) {
- System.out.println("Congratulations! You found all bombs!");
- end = true;
- break;
- } else if (sapper[0] == exit[0] && sapper[1] == exit[1]) {
- System.out.printf("END! %d bombs left on the field", boomdsCount);
- end = true;
- break;
- }
- }
- if (!end) {
- System.out.printf("%d bombs left on the field. Sapper position: (%d,%d)", boomdsCount, sapper[0], sapper[1]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement