Advertisement
Iv555

Untitled

Aug 13th, 2022
987
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.08 KB | None | 0 0
  1. using System;
  2.  
  3. namespace T02Sneaking
  4. {
  5.     internal class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int numOfRows = int.Parse(Console.ReadLine());
  10.  
  11.             char[][] matrix = new char[numOfRows][];
  12.  
  13.             for (int i = 0; i < numOfRows; i++)
  14.             {
  15.                 matrix[i] = Console.ReadLine().ToCharArray();
  16.             }
  17.  
  18.             int SamRow = 0;
  19.             int SamColumn = 0;
  20.             int NikoladzeRow = 0;
  21.             int NikoladzeColumn = 0;
  22.  
  23.             for (int i = 0; i < matrix.Length; i++)
  24.             {
  25.                 for (int j = 0; j < matrix[i].Length; j++)
  26.                 {
  27.                     if (matrix[i][j] == 'S')
  28.                     {
  29.                         SamRow = i;
  30.                         SamColumn = j;
  31.                     }
  32.                     if (matrix[i][j] == 'N')
  33.                     {
  34.                         NikoladzeRow = i;
  35.                         NikoladzeColumn = j;
  36.                     }
  37.                 }
  38.             }
  39.             char[] commands = Console.ReadLine().ToCharArray();
  40.  
  41.             for (int i = 0; i < commands.Length; i++)
  42.             {
  43.                 MoveEnemies(matrix, SamRow, SamColumn);
  44.                 matrix[SamRow][SamColumn] = '.';
  45.                 if (commands[i] == 'U')
  46.                 {
  47.                     SamRow--;
  48.                 }
  49.                 else if (commands[i] == 'D')
  50.                 {
  51.                     SamRow++;
  52.                 }
  53.                 else if (commands[i] == 'L')
  54.                 {
  55.                     SamColumn--;
  56.                 }
  57.                 else if (commands[i] == 'R')
  58.                 {
  59.                     SamColumn++;
  60.                 }
  61.                 else if (commands[i] == 'W')
  62.                 {
  63.                     continue;
  64.                 }
  65.                 matrix[SamRow][SamColumn] = 'S';
  66.  
  67.                 if (SamRow == NikoladzeRow)
  68.                 {
  69.                     matrix[NikoladzeRow][NikoladzeColumn] = 'X';
  70.                     Console.WriteLine("Nikoladze killed!");
  71.                     PrintMatrix(matrix);
  72.                     Environment.Exit(0);
  73.                 }
  74.  
  75.             }
  76.  
  77.         }
  78.  
  79.         private static void MoveEnemies(char[][] matrix, int SamRow, int SamColumn)
  80.         {
  81.  
  82.             for (int i = 0; i < matrix.Length; i++)
  83.             {
  84.                 bool hasBMoved = false;
  85.                 for (int j = 0; j < matrix[i].Length; j++)
  86.                 {
  87.                     if (matrix[i][j] == 'b' && j != matrix[i].Length - 1)
  88.                     {
  89.                         if (!hasBMoved)
  90.                         {
  91.                             matrix[i][j] = '.';
  92.                             matrix[i][j + 1] = 'b';
  93.                             hasBMoved = true;
  94.                         }
  95.  
  96.                     }
  97.                     else if (matrix[i][j] == 'd' && j != 0)
  98.                     {
  99.                         matrix[i][j] = '.';
  100.                         matrix[i][j - 1] = 'd';
  101.                     }
  102.                     else if (matrix[i][j] == 'b' && j == matrix[i].Length - 1 && !hasBMoved)
  103.                     {
  104.                         matrix[i][j] = 'd';
  105.                     }
  106.                     else if (matrix[i][j] == 'd' && j == 0)
  107.                     {
  108.                         matrix[i][j] = 'b';
  109.                     }
  110.                     if ((matrix[i][j] == 'b' && SamRow == i && SamColumn > j)
  111.                         || (matrix[i][j] == 'd' && SamRow == i && SamColumn < j))
  112.                     {
  113.                         Console.WriteLine($"Sam died at {SamRow}, {SamColumn}");
  114.                         matrix[SamRow][SamColumn] = 'X';
  115.                         PrintMatrix(matrix);
  116.                         Environment.Exit(0);
  117.                     }
  118.  
  119.                 }
  120.  
  121.             }
  122.         }
  123.         private static void PrintMatrix(char[][] matrix)
  124.         {
  125.             for (int i = 0; i < matrix.Length; i++)
  126.             {
  127.                 Console.WriteLine(string.Join("", matrix[i]));
  128.  
  129.             }
  130.         }
  131.     }
  132. }
  133.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement