Stacker game with three blocks

I am pretty new to C# and so i would like to ask you, how i could improve my code. I am currently coding a Visual Studio C# Console Game where you have to stack blocks. Currently you can only Stack 3 blocks because my code is getting really long and i am really losing my orientation.

The voids “Reihe1()”, “Reihe2()” and “Reihe3()” are for the different rows. Is there any way i can improve my code? To completly understand my game pls just try it in Visual Studio.

I hope that you can help me. And please keep in mind, that i am a beginner!

Here is the code:

//(c) DomeGamer14  using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using static System.Console; using System.IO;  namespace Test1 {     class Program     {         public static string[] field = new string[70];         public static int counter = 0;          static void Main(string[] args)         {             for (int i = 0; i < field.Length; i++)             {                 field[i] = "O";                 Write(field[i]);                 if (i == 6 || i == 13 || i == 20 || i == 27 || i == 34 || i == 41 || i == 48 || i == 55 || i == 62 || i == 69)                 {                     WriteLine();                 }             }             ReadLine();              Reihe1();             ReadKey();             Clear();             Reihe2();             ReadKey();             ReadKey();             Clear();             Reihe3();             ReadKey();             ReadKey();         }          static void Show()         {             for (int i = 0; i < field.Length; i++)             {                 Write(field[i]);                 if (i == 6 || i == 13 || i == 20 || i == 27 || i == 34 || i == 41 || i == 48 || i == 55 || i == 62 || i == 69)                 {                     WriteLine();                 }             }         }          static void Reihe1()         {             do             {                 Clear();                 field[63] = "X";                 field[64] = "X";                 field[65] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[63] = "O";                 field[66] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[64] = "O";                 field[67] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[65] = "O";                 field[68] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[66] = "O";                 field[69] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[69] = "O";                 field[66] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[68] = "O";                 field[65] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[67] = "O";                 field[64] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[66] = "O";                 field[63] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;             } while (true);         }          static void Reihe2()         {              do             {                 Clear();                 field[56] = "X";                 field[57] = "X";                 field[58] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[56] = "O";                 field[59] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[57] = "O";                 field[60] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[58] = "O";                 field[61] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[59] = "O";                 field[62] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[62] = "O";                 field[59] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[61] = "O";                 field[58] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[60] = "O";                 field[57] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;                 Thread.Sleep(200);                 Clear();                 field[59] = "O";                 field[56] = "X";                 Show();                 if (Console.KeyAvailable == true)                     break;             } while (true);               for (int i = 0; i < 63; i++)             {                 if (field[i] == "X" && field[i + 7] != "X")                 {                     Thread.Sleep(2000);                     field[i] = "O";                     Clear();                     Show();                     counter += 1;                     if (counter == 3)                     {                         Clear();                         WriteLine("Game Over!");                         WriteLine("Press a Key to end the program!");                         ReadKey();                         ReadKey();                         Environment.Exit(0);                     }                 }             }         }          static void Reihe3()         {             if (counter == 2)             {                 do                 {                     Clear();                     field[49] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[49] = "O";                     field[50] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[50] = "O";                     field[51] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[51] = "O";                     field[52] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[52] = "O";                     field[53] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[53] = "O";                     field[54] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[54] = "O";                     field[55] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[55] = "O";                     field[54] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[54] = "O";                     field[53] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[53] = "O";                     field[52] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[52] = "O";                     field[51] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[51] = "O";                     field[50] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[50] = "O";                     field[49] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                 } while (true);                 counter = 0;                  for (int i = 0; i < 63; i++)                 {                     if (field[i] == "X" && field[i + 7] != "X")                     {                         Thread.Sleep(2000);                         field[i] = "O";                         Clear();                         Show();                         counter += 1;                         if (counter == 3)                         {                             Clear();                             WriteLine("Game Over!");                             WriteLine("Press a Key to end the program!");                             ReadKey();                             ReadKey();                             Environment.Exit(0);                         }                     }                 }             }             else if (counter == 1)             {                 do                 {                     Clear();                     field[49] = "X";                     field[50] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[49] = "O";                     field[51] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[50] = "O";                     field[52] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[51] = "O";                     field[53] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[52] = "O";                     field[54] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[53] = "O";                     field[55] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[55] = "O";                     field[53] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[54] = "O";                     field[52] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[53] = "O";                     field[51] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[52] = "O";                     field[50] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[51] = "O";                     field[49] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                  } while (true);                  counter = 0;                  for (int i = 0; i < 63; i++)                 {                     if (field[i] == "X" && field[i + 7] != "X")                     {                         Thread.Sleep(2000);                         field[i] = "O";                         Clear();                         Show();                         counter += 1;                         if (counter == 3)                         {                             Clear();                             WriteLine("Game Over!");                             WriteLine("Press a Key to end the program!");                             ReadKey();                             ReadKey();                             Environment.Exit(0);                         }                     }                 }             }             else             {                 do                 {                     Clear();                     field[49] = "X";                     field[50] = "X";                     field[51] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[49] = "O";                     field[52] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[50] = "O";                     field[53] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[51] = "O";                     field[54] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[52] = "O";                     field[55] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[55] = "O";                     field[52] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[54] = "O";                     field[51] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[53] = "O";                     field[50] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                     Thread.Sleep(200);                     Clear();                     field[52] = "O";                     field[49] = "X";                     Show();                     if (Console.KeyAvailable == true)                         break;                   } while (true);                  counter = 0;                  for (int i = 0; i < 63; i++)                 {                     if (field[i] == "X" && field[i + 7] != "X")                     {                         Thread.Sleep(2000);                         field[i] = "O";                         Clear();                         Show();                         counter += 1;                         if (counter == 3)                         {                             Clear();                             WriteLine("Game Over!");                             WriteLine("Press a Key to end the program!");                             ReadKey();                             ReadKey();                             Environment.Exit(0);                         }                     }                 }             }         }     } } ```