Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package PredvaritelnoAdvanced.Tesove;
- import java.util.Arrays;
- import java.util.Scanner;
- @SuppressWarnings("all")
- public class TronRacers {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int size = Integer.parseInt(scanner.nextLine());
- char[][] matrix = new char[size][];
- int rowFirst = 0;
- int colFirst = 0;
- int rowSecond = 0;
- int colSecond = 0;
- for (int i = 0; i < size; i++) {
- String[] data = scanner.nextLine().split("");
- matrix[i] = new char[data.length];
- for (int j = 0; j < matrix[i].length; j++) {
- if (data[j].charAt(0) == 'f') {
- rowFirst = i;
- colFirst = j;
- }
- if (data[j].charAt(0) == 's') {
- rowSecond = i;
- colSecond = j;
- }
- matrix[i][j] = data[j].charAt(0);
- }
- }
- cl:
- while (true) {
- String[] data = scanner.nextLine().split("\\s+");
- String dataFirst = data[0];
- String dataSeconds = data[1];
- switch (dataFirst) {
- case "down":
- if (rowFirst + 1 < matrix.length) {
- if (matrix[rowFirst + 1][colFirst] == 's') {
- matrix[rowFirst + 1][colFirst] = 'x';
- break cl;
- }
- matrix[rowFirst + 1][colFirst] = 'f';
- rowFirst++;
- } else {
- rowFirst = 0;
- matrix[rowFirst][colFirst] = 'f';
- }
- break;
- case "up":
- if (rowFirst - 1 >= 0) {
- if (matrix[rowFirst - 1][colFirst] == 's') {
- matrix[rowFirst - 1][colFirst] = 'x';
- break cl;
- }
- matrix[rowFirst - 1][colFirst] = 'f';
- rowFirst--;
- } else {
- rowFirst = matrix.length - 1;
- matrix[rowFirst][colFirst] = 'f';
- }
- break;
- case "right":
- if (colFirst + 1 < matrix.length) {
- if (matrix[rowFirst][colFirst + 1] == 's') {
- matrix[rowFirst][colFirst + 1] = 'x';
- break cl;
- }
- matrix[rowFirst][colFirst + 1] = 'f';
- colFirst++;
- } else {
- colFirst = 0;
- matrix[rowFirst][colFirst] = 'f';
- }
- break;
- case "left":
- if (colFirst - 1 >= 0) {
- if (matrix[rowFirst][colFirst - 1] == 's') {
- matrix[rowFirst][colFirst - 1] = 'x';
- break cl;
- }
- matrix[rowFirst][colFirst - 1] = 'f';
- colFirst--;
- } else {
- colFirst = matrix.length - 1;
- matrix[rowFirst][colFirst] = 'f';
- }
- break;
- }
- switch (dataSeconds) {
- case "down":
- if (rowSecond + 1 < matrix.length) {
- if (matrix[rowSecond + 1][colSecond] == 'f') {
- matrix[rowSecond + 1][colSecond] = 'x';
- break cl;
- }
- matrix[rowSecond + 1][colSecond] = 's';
- rowSecond++;
- } else {
- rowSecond = 0;
- matrix[rowSecond][colSecond] = 's';
- }
- break;
- case "up":
- if (rowSecond - 1 >= 0) {
- if (matrix[rowSecond - 1][colSecond] == 'f') {
- matrix[rowSecond - 1][colSecond] = 'x';
- break cl;
- }
- matrix[rowSecond - 1][colSecond] = 's';
- rowSecond--;
- } else {
- rowSecond = matrix.length - 1;
- matrix[rowSecond][colSecond] = 's';
- }
- break;
- case "right":
- if (colSecond + 1 < matrix.length) {
- if (matrix[rowSecond][colSecond + 1] == 'f') {
- matrix[rowSecond][colSecond + 1] = 'x';
- break cl;
- }
- matrix[rowSecond][colSecond + 1] = 's';
- colSecond++;
- } else {
- colSecond = 0;
- matrix[rowSecond][colSecond] = 's';
- }
- break;
- case "left":
- if (colSecond - 1 >= 0) {
- if (matrix[rowSecond][colSecond - 1] == 'f') {
- matrix[rowSecond][colSecond - 1] = 'x';
- break cl;
- }
- matrix[rowSecond][colSecond - 1] = 's';
- colSecond--;
- } else {
- colSecond = matrix.length - 1;
- matrix[rowSecond][colSecond] = 's';
- }
- break;
- }
- }
- for (char[] chars : matrix) {
- System.out.println(Arrays.toString(chars).replaceAll("[\\[\\], ]", ""));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement