Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- namespace BrickGame
- {
- // przyspieszanie w trakcie grania
- // nitro
- // zbieranie nitro
- // reset (nowa gra)
- // High score
- internal class Program
- {
- static string[] plansza;
- const string GRACZ = "^";
- const string PRZESZKODA = "#";
- static int punkty = 0;
- static int czasNitro = -1;
- static void Main(string[] args)
- {
- /// 0-lewa strona, 1 - środek, 2-prawa strona
- int pozycjaGracza = 1;
- bool czyUderzony = false;
- Random generatorLosowy = new Random();
- int wysokoscPlanszy = 10;
- int opoznienieWyswietlania = 600; // 0,6 s - czas trwania klatki
- int zmianaPredkosci = 10;
- // Narysuj nową planszę
- NowaPlansza(wysokoscPlanszy);
- // Ustaw gracza na planszy
- UstawGracza(pozycjaGracza);
- //Wyświetl plansze
- PokazPlansze();
- // działanie gry do chwili udeżenia
- while (!czyUderzony)
- {
- // przechwyć dzialanie użytkownika
- pozycjaGracza = PrzemiescGracza(pozycjaGracza);
- // przesuń pojazd
- UstawGracza(pozycjaGracza);
- // ustaw przeszkodę
- int pozycjaPrzeszkody = generatorLosowy.Next(3);
- string przeszkoda = UstawPrzeszkode(pozycjaPrzeszkody);
- DodajPrzeszkode(przeszkoda);
- PokazPlansze();
- // sprawdź czy udeżyliśmy w przeszkodę
- czyUderzony = CzyUderzylismy(pozycjaGracza);
- if (czasNitro == 10)
- {
- zmianaPredkosci += 200;
- czasNitro--;
- }
- else if (czasNitro > 0)
- {
- czasNitro--;
- }
- else if (czasNitro == 0)
- {
- zmianaPredkosci -= 200;
- czasNitro = -1;
- }
- opoznienieWyswietlania = opoznienieWyswietlania - zmianaPredkosci;
- Thread.Sleep(opoznienieWyswietlania);
- }
- GameOver();
- Console.ReadKey();
- }
- private static bool CzyUderzylismy(int pozycjaGracza)
- {
- bool czyUderzony = false;
- int pozycjaNajbliższejPrzeszkody =
- plansza[plansza.Length - 2].IndexOf(PRZESZKODA);
- if (pozycjaGracza == pozycjaNajbliższejPrzeszkody)
- {
- czyUderzony = true;
- }
- else
- {
- punkty++;
- }
- return czyUderzony;
- }
- private static int PrzemiescGracza(int pozycjaGracza)
- {
- if (Console.KeyAvailable)
- {
- ConsoleKeyInfo nacisnietyKlawisz = Console.ReadKey(true);
- if (nacisnietyKlawisz.Key == ConsoleKey.D && pozycjaGracza < 2)
- {
- pozycjaGracza++;
- }
- if (nacisnietyKlawisz.Key == ConsoleKey.A && pozycjaGracza > 0)
- {
- pozycjaGracza--;
- }
- if (nacisnietyKlawisz.Key == ConsoleKey.Spacebar)
- {
- if (czasNitro == -1)
- {
- czasNitro = 10;
- }
- }
- while (Console.KeyAvailable)
- {
- Console.ReadKey(false);
- }
- }
- return pozycjaGracza;
- }
- private static void DodajPrzeszkode(string przeszkoda)
- {
- plansza[0] = przeszkoda;
- for (int i = plansza.Length - 2; i > 0; i--)
- {
- plansza[i] = plansza[i - 1];
- }
- }
- private static string UstawPrzeszkode(int pozycjaPrzeszkody)
- {
- string linia = " ";
- linia = linia.Insert(pozycjaPrzeszkody, PRZESZKODA);
- return linia;
- }
- private static void GameOver()
- {
- int czasPoGrze = 2000;
- Console.Clear();
- Console.WriteLine("GAME OVER");
- Console.WriteLine($"Zdobyłeś {punkty} punktów");
- Thread.Sleep(czasPoGrze);
- Console.ReadKey();
- }
- private static void PokazPlansze()
- {
- Console.Clear();
- for (int i = 0; i < plansza.Length; i++)
- {
- Console.WriteLine(plansza[i]);
- }
- Console.WriteLine($"Punkty: {punkty}");
- }
- private static void NowaPlansza(int wysokoscPlanszy)
- {
- plansza = new string[wysokoscPlanszy];
- for (int i = 0; i < plansza.Length; i++)
- {
- plansza[i] = "";
- }
- punkty = 0;
- }
- private static void UstawGracza(int pozycjaGracza)
- {
- string linia = " ";
- linia = linia.Insert(pozycjaGracza, GRACZ);
- plansza[plansza.Length - 1] = linia;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement