emilia98

Draw Fort

Nov 28th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.92 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. namespace Castle
  8. {
  9.     class Castle
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n = int.Parse(Console.ReadLine());
  14.  
  15.             //int dashes = n / 2;
  16.             int spaces = 2 * n - 2; // двете колони минус двете |
  17.             if (n < 5)
  18.             {
  19.                 Console.Write("/");
  20.                 Console.Write(new string('^', n / 2));
  21.                 Console.Write(@"\");
  22.                 Console.Write("/");
  23.                 Console.Write(new string('^', n / 2));
  24.                 Console.WriteLine(@"\");
  25.  
  26.                 for (int row = 1; row <= n - 2; row++)
  27.                 {
  28.                     Console.Write("|");
  29.                     Console.Write(new string(' ', spaces));
  30.                     Console.WriteLine("|");
  31.                 }
  32.  
  33.                 Console.Write(@"\");
  34.                 Console.Write(new string('_', n / 2));
  35.                 Console.Write("/");
  36.                 Console.Write(@"\");
  37.                 Console.Write(new string('_', n / 2));
  38.                 Console.WriteLine("/");
  39.             }
  40.  
  41.             else
  42.             {
  43.                 //Underscore - долна черта =>
  44.                 /* 2 * n (колоните) - (n / 2) (един път комплект ^ )
  45.                      - (n / 2) (втори път ^ ) + 4 (два пъти двете наклонени черти)
  46.                 */
  47.                 int underscore = 2 * n - (n / 2 + n / 2 + 4);
  48.                 //int spaces =
  49.                 Console.Write("/");
  50.                 Console.Write(new string('^', n / 2));
  51.                 Console.Write(@"\");
  52.                 Console.Write(new string('_', underscore));
  53.                 Console.Write("/");
  54.                 Console.Write(new string('^', n / 2));
  55.                 Console.WriteLine(@"\");
  56.  
  57.                 for (int row = 1; row <= n - 3; row++)
  58.                 {
  59.                     Console.Write("|");
  60.                     Console.Write(new string(' ', spaces));
  61.                     Console.WriteLine("|");
  62.                 }
  63.  
  64.                 spaces = n / 2 + 1;
  65.                 Console.Write("|");
  66.                 Console.Write(new string(' ', spaces));
  67.                 Console.Write(new string('_', underscore));
  68.                 Console.Write(new string(' ', spaces));
  69.                 Console.WriteLine("|");
  70.  
  71.                 spaces = underscore; //Броят интервали е равен на броя долни черти
  72.                 Console.Write(@"\");
  73.                 Console.Write(new string('_', n / 2));
  74.                 Console.Write("/");
  75.                 Console.Write(new string(' ', spaces));
  76.                 Console.Write(@"\");
  77.                 Console.Write(new string('_', n / 2));
  78.                 Console.WriteLine("/");
  79.             }
  80.         }
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment