Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.94 KB | None | 0 0
  1. package PredvaritelnoAdvanced.Tesove;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. @SuppressWarnings("all")
  7. public class TronRacers {
  8.  
  9. public static void main(String[] args) {
  10. Scanner scanner = new Scanner(System.in);
  11. int size = Integer.parseInt(scanner.nextLine());
  12. char[][] matrix = new char[size][];
  13. int rowFirst = 0;
  14. int colFirst = 0;
  15. int rowSecond = 0;
  16. int colSecond = 0;
  17. for (int i = 0; i < size; i++) {
  18. String[] data = scanner.nextLine().split("");
  19. matrix[i] = new char[data.length];
  20. for (int j = 0; j < matrix[i].length; j++) {
  21. if (data[j].charAt(0) == 'f') {
  22. rowFirst = i;
  23. colFirst = j;
  24. }
  25. if (data[j].charAt(0) == 's') {
  26. rowSecond = i;
  27. colSecond = j;
  28. }
  29. matrix[i][j] = data[j].charAt(0);
  30. }
  31. }
  32. cl:
  33. while (true) {
  34. String[] data = scanner.nextLine().split("\\s+");
  35. String dataFirst = data[0];
  36. String dataSeconds = data[1];
  37. switch (dataFirst) {
  38. case "down":
  39. if (rowFirst + 1 < matrix.length) {
  40. if (matrix[rowFirst + 1][colFirst] == 's') {
  41. matrix[rowFirst + 1][colFirst] = 'x';
  42. break cl;
  43. }
  44. matrix[rowFirst + 1][colFirst] = 'f';
  45. rowFirst++;
  46. } else {
  47. rowFirst = 0;
  48. matrix[rowFirst][colFirst] = 'f';
  49. }
  50. break;
  51. case "up":
  52. if (rowFirst - 1 >= 0) {
  53. if (matrix[rowFirst - 1][colFirst] == 's') {
  54. matrix[rowFirst - 1][colFirst] = 'x';
  55. break cl;
  56. }
  57. matrix[rowFirst - 1][colFirst] = 'f';
  58. rowFirst--;
  59. } else {
  60. rowFirst = matrix.length - 1;
  61. matrix[rowFirst][colFirst] = 'f';
  62. }
  63. break;
  64. case "right":
  65. if (colFirst + 1 < matrix.length) {
  66. if (matrix[rowFirst][colFirst + 1] == 's') {
  67. matrix[rowFirst][colFirst + 1] = 'x';
  68. break cl;
  69. }
  70. matrix[rowFirst][colFirst + 1] = 'f';
  71. colFirst++;
  72. } else {
  73. colFirst = 0;
  74. matrix[rowFirst][colFirst] = 'f';
  75. }
  76. break;
  77. case "left":
  78. if (colFirst - 1 >= 0) {
  79. if (matrix[rowFirst][colFirst - 1] == 's') {
  80. matrix[rowFirst][colFirst - 1] = 'x';
  81. break cl;
  82. }
  83. matrix[rowFirst][colFirst - 1] = 'f';
  84. colFirst--;
  85. } else {
  86. colFirst = matrix.length - 1;
  87. matrix[rowFirst][colFirst] = 'f';
  88. }
  89. break;
  90. }
  91. switch (dataSeconds) {
  92. case "down":
  93. if (rowSecond + 1 < matrix.length) {
  94. if (matrix[rowSecond + 1][colSecond] == 'f') {
  95. matrix[rowSecond + 1][colSecond] = 'x';
  96. break cl;
  97. }
  98. matrix[rowSecond + 1][colSecond] = 's';
  99. rowSecond++;
  100. } else {
  101. rowSecond = 0;
  102. matrix[rowSecond][colSecond] = 's';
  103. }
  104. break;
  105. case "up":
  106. if (rowSecond - 1 >= 0) {
  107. if (matrix[rowSecond - 1][colSecond] == 'f') {
  108. matrix[rowSecond - 1][colSecond] = 'x';
  109. break cl;
  110. }
  111. matrix[rowSecond - 1][colSecond] = 's';
  112. rowSecond--;
  113. } else {
  114. rowSecond = matrix.length - 1;
  115. matrix[rowSecond][colSecond] = 's';
  116. }
  117. break;
  118. case "right":
  119. if (colSecond + 1 < matrix.length) {
  120. if (matrix[rowSecond][colSecond + 1] == 'f') {
  121. matrix[rowSecond][colSecond + 1] = 'x';
  122. break cl;
  123. }
  124. matrix[rowSecond][colSecond + 1] = 's';
  125. colSecond++;
  126. } else {
  127. colSecond = 0;
  128. matrix[rowSecond][colSecond] = 's';
  129. }
  130. break;
  131. case "left":
  132. if (colSecond - 1 >= 0) {
  133. if (matrix[rowSecond][colSecond - 1] == 'f') {
  134. matrix[rowSecond][colSecond - 1] = 'x';
  135. break cl;
  136. }
  137. matrix[rowSecond][colSecond - 1] = 's';
  138. colSecond--;
  139. } else {
  140. colSecond = matrix.length - 1;
  141. matrix[rowSecond][colSecond] = 's';
  142. }
  143. break;
  144. }
  145. }
  146. for (char[] chars : matrix) {
  147. System.out.println(Arrays.toString(chars).replaceAll("[\\[\\], ]", ""));
  148. }
  149. }
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement