Advertisement
Cassimus

BrickGame

May 13th, 2025 (edited)
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.92 KB | None | 0 0
  1. internal class Program
  2. {
  3.     const string GRACZ = "A";
  4.     const string PRZESZKODA = "#";
  5.     static string[] plansza = { };
  6.     static void Main(string[] args)
  7.     {
  8.         Random maszynaLosujaca = new();
  9.         int dlugoscPlanszy = 10;
  10.         int szerokoscPlanszy = 3;
  11.         int pozycjaGracza = szerokoscPlanszy / 2;
  12.         int predkoscGry = 600;
  13.  
  14.         bool czyUderzony = false;
  15.  
  16.         NowaPlansza(dlugoscPlanszy);
  17.         // szerokosćPlanszy/2 = środek
  18.         UstawGracza(pozycjaGracza, szerokoscPlanszy);
  19.  
  20.         while (!czyUderzony)
  21.         {
  22.             // TODO Wyodrębnić metodę PrzechwyćRuchGracza
  23.             if (Console.KeyAvailable)
  24.             {
  25.                 ConsoleKeyInfo nacisnietyKlawisz = Console.ReadKey(true);
  26.  
  27.                 if (nacisnietyKlawisz.Key == ConsoleKey.A)
  28.                 {
  29.                     if (pozycjaGracza > 0)
  30.                     {
  31.                         pozycjaGracza--;
  32.                     }
  33.                 }
  34.                 else if (nacisnietyKlawisz.Key == ConsoleKey.D)
  35.                 {
  36.                     if (pozycjaGracza < szerokoscPlanszy - 1)
  37.                     {
  38.                         pozycjaGracza++;
  39.                     }
  40.                 }
  41.             }
  42.             int pozycjaPrzeszkody = maszynaLosujaca.Next(szerokoscPlanszy);
  43.            
  44.             string przeszkoda = UstawPrzeszkode(pozycjaPrzeszkody, szerokoscPlanszy);
  45.             PrzesunPlansze();
  46.             plansza[0] = przeszkoda;
  47.             UstawGracza(pozycjaGracza, szerokoscPlanszy);
  48.             PokazPlansze();
  49.  
  50.             Thread.Sleep(predkoscGry);
  51.         }
  52.         Console.Clear();
  53.         Console.WriteLine("GAME OVER!");
  54.     }
  55.  
  56.     static void PrzesunPlansze()
  57.     {
  58.         for (int wiersz = plansza.Length - 2; wiersz > 0; wiersz--)
  59.         {
  60.             plansza[wiersz] = plansza[wiersz-1];
  61.         }
  62.     }
  63.  
  64.     static string UstawPrzeszkode(int pozycjaPrzeszkody, int szerokoscPlanszy)
  65.     {
  66.         string linia ="";
  67.         for(int i = 0; i< szerokoscPlanszy; i++)
  68.         {
  69.             linia += " ";
  70.         }
  71.         linia = linia.Insert(pozycjaPrzeszkody, PRZESZKODA);
  72.         return linia;
  73.     }
  74.  
  75.     static void NowaPlansza(int rozmiarPlanszy)
  76.     {
  77.         plansza = new string[rozmiarPlanszy];
  78.         for (int i = 0; i < plansza.Length; i++)
  79.         {
  80.             plansza[i] = "";
  81.         }
  82.     }
  83.    
  84.     static void UstawGracza(int pozycjaGracza, int szerokoscPlanszy)
  85.     {
  86.         string linia = "";
  87.         for (int i = 0; i < szerokoscPlanszy; i++)
  88.         {
  89.             linia += " ";
  90.         }
  91.  
  92.         linia = linia.Insert(pozycjaGracza, GRACZ);
  93.         plansza[plansza.Length - 1] = linia;
  94.     }
  95.  
  96.     static void PokazPlansze()
  97.     {
  98.         Console.Clear();
  99.         for (int wiersz = 0; wiersz < plansza.Length; wiersz++)
  100.         {
  101.             System.Console.WriteLine(plansza[wiersz]);
  102.         }
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement