Venciity

[SoftUni C# exam preparation] 04.Eggcelent

Apr 9th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.31 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. class Eggcelent
  8. {
  9.     static void Main()
  10.     {
  11.         int number = Int32.Parse(Console.ReadLine());
  12.  
  13.         int height = 2 * number;
  14.         int width = (3 * number) - 1;
  15.         int widthDraw = (3 * number) + 1;
  16.         int top = number - 1;
  17.         int bottom = number - 1;
  18.  
  19.         //top
  20.         Console.WriteLine("{0}{1}{0}",new string('.',number + 1),new string('*', top));
  21.  
  22.         int outerDots = number - 1;
  23.         int innerDots = number + 1;
  24.         int counter = 0;
  25.  
  26.         for (int i = 0; i < height - number - 2; i++)
  27.         {
  28.             Console.WriteLine("{0}*{1}*{0}",new string('.', outerDots),new string('.', innerDots));
  29.             innerDots = innerDots + 4;
  30.             outerDots = outerDots - 2;
  31.             if (outerDots < 0)
  32.             {
  33.                 outerDots = 1;
  34.                 counter++;
  35.             }
  36.             if (innerDots > width)
  37.             {
  38.                 innerDots = width - 2;
  39.             }
  40.         }
  41.  
  42.         //middle
  43.         Console.Write(".*");
  44.         for (int i = 0; i < width/2; i++)
  45.         {
  46.             Console.Write("@");
  47.             if (i > width/2 - 2)
  48.             {
  49.                 break;
  50.             }
  51.             Console.Write(".");
  52.         }
  53.         Console.WriteLine("*.");
  54.         Console.Write(".*");
  55.  
  56.         for (int i = 0; i < width / 2; i++)
  57.         {
  58.             Console.Write(".");
  59.             if (i > width / 2 - 2)
  60.             {
  61.                 break;
  62.             }
  63.             Console.Write("@");
  64.         }
  65.         Console.WriteLine("*.");
  66.  
  67.         //bottom
  68.  
  69.         int innerDots2 = 1;
  70.         int outerDots2 = width - 2;
  71.  
  72.         for (int i = 0; i < height - number - 2; i++)
  73.         {
  74.             Console.WriteLine("{0}*{1}*{0}",new string('.', innerDots2),new string('.', outerDots2));
  75.             if (counter - 1 > i)
  76.             {
  77.                 innerDots2 = widthDraw - width - 1;
  78.                 outerDots2 = width - 2;
  79.             }
  80.             else
  81.             {
  82.                 innerDots2 = innerDots2 + 2;
  83.                 outerDots2 = outerDots2 - 4;
  84.             }
  85.         }
  86.         Console.WriteLine("{0}{1}{0}",new string('.',number + 1), new string('*',bottom));
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment