Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Re_Volt
- {
- class Program
- {
- static void Main(string[] args)
- {
- int sizeMatrix = int.Parse(Console.ReadLine());
- string[,] matrix = new string[sizeMatrix, sizeMatrix];
- int countCommands = int.Parse(Console.ReadLine());
- //inputMatrix
- int colPlayer = 0;
- int rowPlayer = 0;
- for (int row = 0; row < sizeMatrix; row++)
- {
- string input = Console.ReadLine();
- for (int col = 0; col < sizeMatrix; col++)
- {
- matrix[row, col] = input[col].ToString();
- if (input[col] == 'f')
- {
- colPlayer = col;
- rowPlayer = row;
- }
- }
- }
- //movements
- bool win = false;
- for (int i = 0; i < countCommands; i++)
- {
- string input = Console.ReadLine();
- switch (input)
- {
- case "left":
- matrix[rowPlayer, colPlayer] = "-";
- colPlayer = left(matrix, colPlayer, rowPlayer);
- break;
- case "right":
- matrix[rowPlayer, colPlayer] = "-";
- colPlayer = right(matrix, colPlayer, rowPlayer);
- break;
- case "down":
- matrix[rowPlayer, colPlayer] = "-";
- rowPlayer = down(matrix, colPlayer, rowPlayer);
- break;
- case "up":
- matrix[rowPlayer, colPlayer] = "-";
- rowPlayer = up(matrix, colPlayer, rowPlayer);
- break;
- }
- if (winChecker(matrix, colPlayer, rowPlayer))
- {
- win = true;
- matrix[rowPlayer, colPlayer] = "f";
- break;
- }
- matrix[rowPlayer, colPlayer] = "f";
- }
- if (win)
- {
- Console.WriteLine("Player won!");
- }
- else
- {
- Console.WriteLine("Player lost!");
- }
- printMatrix(matrix);
- }
- static void printMatrix(string[,] matrix)
- {
- for (int row = 0; row < matrix.GetLength(0); row++)
- {
- for (int col = 0; col < matrix.GetLength(1); col++)
- {
- Console.Write(matrix[row, col]);
- }
- Console.WriteLine();
- }
- }
- static int left(string[,] matrix, int colPlayer, int rowPlayer)
- {
- bool outOfRange = false;
- if (colPlayer - 1 < 0)
- {
- colPlayer = matrix.GetLength(1) - 1;
- outOfRange = true;
- }
- else
- {
- colPlayer--;
- }
- if (trapChecker(matrix, colPlayer, rowPlayer))
- {
- if (outOfRange)
- {
- colPlayer = 0;
- }
- else
- {
- colPlayer++;
- }
- }
- else if (bonusChecker(matrix, colPlayer, rowPlayer))
- {
- if (colPlayer - 1 < 0)
- {
- colPlayer = matrix.GetLength(1) - 1;
- }
- else
- {
- colPlayer--;
- }
- }
- return colPlayer;
- }
- static int right(string[,] matrix, int colPlayer, int rowPlayer)
- {
- bool outOfRange = false;
- if (colPlayer + 1 >=matrix.GetLength(1))
- {
- colPlayer = 0;
- outOfRange = true;
- }
- else
- {
- colPlayer++;
- }
- if (trapChecker(matrix, colPlayer, rowPlayer))
- {
- if (outOfRange)
- {
- colPlayer = matrix.GetLength(2)-1;
- }
- else
- {
- colPlayer--;
- }
- }
- else if (bonusChecker(matrix, colPlayer, rowPlayer))
- {
- if (colPlayer + 1 > matrix.GetLength(1))
- {
- colPlayer = 0;
- }
- else
- {
- colPlayer++;
- }
- }
- return colPlayer;
- }
- static int down(string[,] matrix, int colPlayer, int rowPlayer)
- {
- bool outOfRange = false;
- if (rowPlayer + 1 >= matrix.GetLength(1))
- {
- rowPlayer = 0;
- outOfRange = true;
- }
- else
- {
- rowPlayer++;
- }
- if (trapChecker(matrix, colPlayer, rowPlayer))
- {
- if (outOfRange)
- {
- rowPlayer = matrix.GetLength(2) - 1;
- }
- else
- {
- rowPlayer--;
- }
- }
- else if (bonusChecker(matrix, colPlayer, rowPlayer))
- {
- if (rowPlayer + 1 >= matrix.GetLength(1))
- {
- rowPlayer = 0;
- }
- else
- {
- rowPlayer++;
- }
- }
- return rowPlayer;
- }
- static int up(string[,] matrix, int colPlayer, int rowPlayer)
- {
- bool outOfRange = false;
- if (rowPlayer - 1 < 0)
- {
- rowPlayer = matrix.GetLength(1) - 1;
- outOfRange = true;
- }
- else
- {
- rowPlayer--;
- }
- if (trapChecker(matrix, colPlayer, rowPlayer))
- {
- if (outOfRange)
- {
- rowPlayer = 0;
- }
- else
- {
- rowPlayer++;
- }
- }
- else if (bonusChecker(matrix, colPlayer, rowPlayer))
- {
- if (rowPlayer - 1 < 0)
- {
- rowPlayer = matrix.GetLength(2) - 1;
- }
- else
- {
- rowPlayer--;
- }
- }
- return rowPlayer;
- }
- static bool winChecker(string[,] matrix, int colPlayer, int rowPlayer)
- {
- if (matrix[rowPlayer,colPlayer]=="F")
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- static bool trapChecker(string[,] matrix, int colPlayer, int rowPlayer)
- {
- if (matrix[rowPlayer, colPlayer] == "T")
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- static bool bonusChecker(string[,] matrix, int colPlayer, int rowPlayer)
- {
- if (matrix[rowPlayer, colPlayer] == "B")
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement