Advertisement
tockata

03_HouseWithAWindow

Jul 27th, 2014
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.94 KB | None | 0 0
  1. using System;
  2.  
  3. class HouseWithAWindow
  4. {
  5.     static void Main()
  6.     {
  7.         int n = int.Parse(Console.ReadLine());
  8.         int outCount = ((2 * n) - 2) / 2;
  9.         int innerCount = 1;
  10.         int rowsBeforeAndAfterWindows = n / 4;
  11.  
  12.         for (int i = 1; i <= (2 * n) + 2; i++)
  13.         {
  14.             if (i == 1)
  15.             {
  16.                 string outerDots = new string('.', outCount);
  17.                 Console.WriteLine("{0}*{0}", outerDots);
  18.                 outCount--;
  19.             }
  20.             else if (i > 1 && i < n)
  21.             {
  22.                 string outerDots = new string('.', outCount);
  23.                 string innerDots = new string('.', innerCount);
  24.                 Console.WriteLine("{0}*{1}*{0}", outerDots, innerDots);
  25.                 outCount--;
  26.                 innerCount += 2;
  27.             }
  28.             else if (i == n)
  29.             {
  30.                 string dots = new string('.', 2 * n - 3);
  31.                 Console.WriteLine("*{0}*", dots);
  32.             }
  33.             else if (i == n + 1 || i == (2 * n) + 2)
  34.             {
  35.                 string asterix = new string('*', 2 * n - 1);
  36.                 Console.WriteLine(asterix);
  37.             }
  38.             else if (i > n + 1 && i <= n + 1 + rowsBeforeAndAfterWindows)
  39.             {
  40.                 string dots = new string('.', 2 * n - 3);
  41.                 Console.WriteLine("*{0}*", dots);
  42.             }
  43.             else if (i > n + 1 + rowsBeforeAndAfterWindows && i <= n + 1 + rowsBeforeAndAfterWindows + n / 2)
  44.             {
  45.                 string windows = new string('*', n - 3);
  46.                 string wall = new string('.', n / 2);
  47.                 Console.WriteLine("*{0}{1}{0}*", wall, windows);
  48.             }
  49.             else if (i > n + 1 + rowsBeforeAndAfterWindows + n / 2 && i != (2 * n) + 2)
  50.             {
  51.                 string dots = new string('.', 2 * n - 3);
  52.                 Console.WriteLine("*{0}*", dots);
  53.             }
  54.         }
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement