Advertisement
dentia

Eggcellent - SoftUni

Apr 5th, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.01 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 Neurons
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int number = int.Parse(Console.ReadLine());
  14.             int drawingWidt = 3 * number + 1;
  15.             int eggWidth = 3 * number - 1;
  16.  
  17.  
  18.             string[] array = new string[number - 2];
  19.             AssignBody(number, array);
  20.  
  21.  
  22.  
  23.             PrintTopBottom(number, drawingWidt);
  24.  
  25.             for (int i = 0; i <array.Length; i++)
  26.             {
  27.                 Console.WriteLine(array[i]);
  28.             }
  29.  
  30.             UpperCrack(drawingWidt);
  31.             LowerCrack(drawingWidt);
  32.  
  33.             for (int i = array.Length - 1; i >= 0; i--)
  34.             {
  35.                 Console.WriteLine(array[i]);
  36.             }
  37.  
  38.  
  39.             PrintTopBottom(number, drawingWidt);
  40.  
  41.  
  42.         }
  43.  
  44.         private static void AssignBody(int n, string[] array)
  45.         {
  46.             if (n > 2)
  47.             {
  48.                 int outerDots = n - 1;
  49.                 int innerDots = n + 1;
  50.                 for (int i = 0; i < n - 2; i++)
  51.                 {
  52.                     array[i] = new string('.', outerDots) + "*" +
  53.                                 new string('.', innerDots) + "*" +
  54.                                 new string('.', outerDots);
  55.                     if (outerDots >= 3)
  56.                     {
  57.                         outerDots -= 2;
  58.                         innerDots += 4;
  59.                     }
  60.                 }
  61.             }
  62.         }
  63.  
  64.  
  65.         private static void LowerCrack(int drawingWidt)
  66.         {
  67.             for (int i = 0; i < drawingWidt; i++)
  68.             {
  69.                 if (i == 1 || i == drawingWidt - 2) Console.Write('*');
  70.                 else if (i % 2 == 1 && i != 0 && i != drawingWidt - 1) Console.Write('@');
  71.                 else Console.Write('.');
  72.             }
  73.             Console.WriteLine();
  74.         }
  75.  
  76.         private static void UpperCrack(int drawingWidt)
  77.         {
  78.             for (int i = 0; i < drawingWidt; i++)
  79.             {
  80.                 if (i == 1 || i == drawingWidt - 2) Console.Write('*');
  81.                 else if (i % 2 == 0 && i != 0 && i != drawingWidt - 1) Console.Write('@');
  82.                 else Console.Write('.');
  83.             }
  84.             Console.WriteLine();
  85.         }
  86.  
  87.         private static void PrintTopBottom(int n, int drawingWidt)
  88.         {
  89.             Console.Write(new string('.', (drawingWidt - n + 1) / 2));
  90.             Console.Write(new string('*', n - 1));
  91.             Console.WriteLine(new string('.', (drawingWidt - n + 1) / 2));
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement