Advertisement
Cassimus

BrickGame Complete

Mar 22nd, 2025
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.01 KB | None | 0 0
  1. internal class Program
  2. {
  3.     static string[] plansza;
  4.  
  5.     static int punkty = 0;
  6.  
  7.     static int predkoscGry = 600;
  8.     const char GRACZ = '^';
  9.     const char PRZESZKODA = '#';
  10.     const int SZEROKOSC = 5;
  11.     const int NITRO = 200;
  12.  
  13.     private static void Main(string[] args)
  14.     {
  15.  
  16.         int pozycjaGracza = SZEROKOSC / 2 + 1;
  17.         bool czyUderzony = false;
  18.         Random generator = new Random();
  19.  
  20.         int przyspieszenieOIle = 10;
  21.         int przyspieszenieCoIlePunktow = 10;
  22.  
  23.         int czasNitro = -1;
  24.         bool jestNitro = true;
  25.         int predkoscNitro = 0;
  26.  
  27.         NowaGra(10);
  28.         UstawGracza(pozycjaGracza);
  29.         WyswietlPlansze();
  30.  
  31.         while (!czyUderzony)
  32.         {
  33.             if (Console.KeyAvailable)
  34.             {
  35.                 var nacisnietyKlawisz = Console.ReadKey(true);
  36.  
  37.                 if (nacisnietyKlawisz.Key == ConsoleKey.D)
  38.                 {
  39.                     if (pozycjaGracza < SZEROKOSC - 1)
  40.                     {
  41.                         pozycjaGracza++;
  42.                     }
  43.                 }
  44.  
  45.                 if (nacisnietyKlawisz.Key == ConsoleKey.A)
  46.                 {
  47.                     if (pozycjaGracza > 0)
  48.                     {
  49.                         pozycjaGracza--;
  50.                     }
  51.                 }
  52.  
  53.                 if (nacisnietyKlawisz.Key == ConsoleKey.N)
  54.                 {
  55.                     if (jestNitro && czasNitro == -1)
  56.                     {
  57.                         czasNitro = 10;
  58.                         jestNitro = false;
  59.                     }
  60.                 }
  61.             }
  62.  
  63.             int pozycjaPrzeszkody = generator.Next(SZEROKOSC);
  64.             string przeszkoda = UstawPrzeszkode(pozycjaPrzeszkody);
  65.  
  66.             for (int i = plansza.Length - 2; i > 0; i--)
  67.             {
  68.                 plansza[i] = plansza[i - 1];
  69.             }
  70.             plansza[0] = przeszkoda;
  71.  
  72.             //Sprawdzenie kolizji
  73.             int pozycjaNajbliższejPrzeszkody = plansza[plansza.Length - 2].IndexOf(PRZESZKODA);
  74.             if (pozycjaGracza == pozycjaNajbliższejPrzeszkody)
  75.             {
  76.                 czyUderzony = true;
  77.             }
  78.             else
  79.             {
  80.                 punkty++;
  81.                 if (punkty % przyspieszenieCoIlePunktow == 0 && predkoscGry > 200)
  82.                 {
  83.                     predkoscGry -= przyspieszenieOIle;
  84.                 }
  85.  
  86.                 if (czasNitro >= 0)
  87.                 {
  88.                     czasNitro--;
  89.                     predkoscNitro = NITRO;
  90.                 }
  91.                 else
  92.                 {
  93.                    
  94.                     predkoscNitro = 0;
  95.                 }
  96.             }
  97.  
  98.             UstawGracza(pozycjaGracza);
  99.             WyswietlPlansze();
  100.  
  101.             Thread.Sleep(predkoscGry-predkoscNitro);
  102.         }
  103.        
  104.         Console.Clear();
  105.         System.Console.WriteLine("GAME OVER");
  106.         System.Console.WriteLine($"Score: {punkty}");
  107.     }
  108.  
  109.     static string UstawPrzeszkode(int pozycjaPrzeszkody)
  110.     {
  111.         string linia = "";
  112.         for (int i = 0; i < SZEROKOSC; i++)
  113.         {
  114.             linia += " ";
  115.         }
  116.         linia = linia.Insert(pozycjaPrzeszkody, PRZESZKODA.ToString());
  117.         return linia;
  118.     }
  119.  
  120.     private static void NowaGra(int iloscWierszy)
  121.     {
  122.         plansza = new string[iloscWierszy];
  123.         for (int i = 0; i < plansza.Length; i++)
  124.         {
  125.             plansza[i] = "";
  126.         }
  127.     }
  128.  
  129.     private static void UstawGracza(int pozycjaGracza)
  130.     {
  131.         string linia = "";
  132.         for (int i = 0; i < SZEROKOSC; i++)
  133.         {
  134.             linia += " ";
  135.         }
  136.  
  137.         linia = linia.Insert(pozycjaGracza, GRACZ.ToString());
  138.         plansza[plansza.Length - 1] = linia;
  139.     }
  140.  
  141.     private static void WyswietlPlansze()
  142.     {
  143.         Console.Clear();
  144.         System.Console.WriteLine($"Score: {punkty}");
  145.         for (int i = 0; i < plansza.Length; i++)
  146.         {
  147.             System.Console.WriteLine(plansza[i]);
  148.         }
  149.     }
  150. }
  151.  
  152.  
  153.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement