LusienGG

[C#] Exam - 04. Trifon's Quest

Jun 12th, 2016
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.48 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7.  
  8. class TrifonQuest
  9. {
  10.     static void Main()
  11.     {
  12.         long health = long.Parse(Console.ReadLine());
  13.         int[] tokens = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
  14.         int rows = tokens[0];
  15.         int cols = tokens[1];
  16.         char[][] matrix = new char[rows][];
  17.         for (int i = 0; i < rows; i++)
  18.         {
  19.             matrix[i] = Console.ReadLine().ToCharArray();
  20.         }
  21.         int row = 0;
  22.         int col = 0;
  23.         int dir = 1;
  24.         long turns = 0;
  25.         bool alive = true;
  26.         int steps = 0;
  27.         while (col != cols)
  28.         {
  29.             while (true)
  30.             {
  31.                
  32.                 switch (matrix[row][col])
  33.                 {
  34.                     case 'F':
  35.                         health = health - turns / 2;
  36.                         turns++;
  37.                        
  38.  
  39.                         break;
  40.                     case 'H':
  41.                         health = health + turns / 3;
  42.                         turns++;
  43.  
  44.                         break;
  45.                     case 'T':
  46.                         turns = turns + 2;
  47.                         turns++;
  48.  
  49.                         break;
  50.                     case 'E':
  51.                         turns++;
  52.  
  53.                         break;
  54.                     default:
  55.                         break;
  56.                 }
  57.                 steps++;
  58.                 if (health <= 0)
  59.                 {
  60.                     alive = false;
  61.                     Console.WriteLine($"Died at: [{row}, {col}]");
  62.                 }
  63.                 if (alive==false)
  64.                 {
  65.                     break;
  66.                 }
  67.                 if (steps == rows*cols)
  68.                 {
  69.                     Console.WriteLine("Quest completed!");
  70.                     Console.WriteLine($"Health: {health}");
  71.                     Console.WriteLine($"Turns: {turns}");
  72.                 }
  73.                 row += dir;
  74.                 if (row == rows)
  75.                 {
  76.                     row--;
  77.                     break;
  78.                 }
  79.                 else if (row == -1)
  80.                 {
  81.                     row++;
  82.                     break;
  83.                 }
  84.             }
  85.             if (alive==false)
  86.             {
  87.                 break;
  88.             }
  89.             dir = -dir;
  90.             col++;
  91.            
  92.         }
  93.  
  94.  
  95.  
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment