Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- namespace BrickGame
- {
- class Program
- {
- static string[] plansza;
- const string GRACZ = "^";
- const string PRZESZKODA = "#";
- const string NITRO = "N";
- const string PUNKTY = "P";
- static int punkty = 0;
- static int rekord = 0;
- static void Main(string[] args)
- {
- string jeszczeRaz;
- do
- {
- int pozycjaGracza = 1;
- Random generatorLosowy = new Random();
- bool czyUderzony = false;
- int speed = 0;
- int czasNitro = -1;
- bool czyPaliwoNitro = false;
- NowaPlansza(10);
- UstawGracza(pozycjaGracza);
- PokazPlansze();
- //Pętla
- while (!czyUderzony)
- {
- //sterowanie
- if (Console.KeyAvailable)
- {
- ConsoleKeyInfo nacisnietyKlawisz = Console.ReadKey(true);
- if (nacisnietyKlawisz.Key == ConsoleKey.RightArrow)
- {
- if (pozycjaGracza < 2)
- {
- pozycjaGracza++;
- }
- }
- if (nacisnietyKlawisz.Key == ConsoleKey.LeftArrow)
- {
- if (pozycjaGracza > 0)
- {
- pozycjaGracza--;
- }
- }
- if (nacisnietyKlawisz.Key == ConsoleKey.Spacebar && czyPaliwoNitro)
- {
- if (czasNitro == -1)
- {
- czasNitro = 10;
- czyPaliwoNitro = false;
- }
- }
- while (Console.KeyAvailable)
- {
- Console.ReadKey(false);
- }
- }
- if (czasNitro == 10)
- {
- speed += 200;
- czasNitro--;
- }
- else if (czasNitro > 0)
- {
- czasNitro--;
- }
- else if (czasNitro == 0)
- {
- speed -= 200;
- czasNitro = -1;
- }
- //sprawdzenie uderzenia
- int pozycjaNajblizszejPrzeszkody = plansza[plansza.Length - 2].IndexOf(PRZESZKODA);
- if (pozycjaGracza == pozycjaNajblizszejPrzeszkody)
- {
- czyUderzony = true;
- }
- else
- {
- punkty++;
- }
- int pozycjaNajblizszegoNitro = plansza[plansza.Length - 2].IndexOf(NITRO);
- if (pozycjaGracza == pozycjaNajblizszegoNitro)
- {
- czyPaliwoNitro = true;
- }
- int pozycjaNajblizszegoPunktu = plansza[plansza.Length - 2].IndexOf(PUNKTY);
- if (pozycjaGracza == pozycjaNajblizszegoPunktu)
- {
- punkty += 10;
- }
- //nowa przeszkoda
- int pozycjaPrzeszkody = generatorLosowy.Next(3);
- string przeszkoda = UstawPrzeszkode(pozycjaPrzeszkody);
- if (generatorLosowy.Next(20) == 0)
- {
- int pozycjaNitro = generatorLosowy.Next(3);
- przeszkoda = UstawNitro(pozycjaNitro, przeszkoda);
- }
- if (generatorLosowy.Next(20) == 0)
- {
- int pozycjaPunktow = generatorLosowy.Next(3);
- przeszkoda = UstawPunkty(pozycjaPunktow, przeszkoda);
- }
- //przesunięcie planszy w dół
- for (int i = plansza.Length - 2; i > 0; i--)
- {
- plansza[i] = plansza[i - 1];
- }
- plansza[0] = przeszkoda;
- UstawGracza(pozycjaGracza);
- PokazPlansze();
- Console.WriteLine($"Nitro: {czyPaliwoNitro}");
- speed++;
- if (speed > 600)
- {
- Thread.Sleep(1);
- }
- else
- {
- Thread.Sleep(600 - speed);
- }
- }
- Console.Clear();
- Console.WriteLine("GAME OVER");
- Console.WriteLine($"Zdobyłeś {punkty} punktów");
- if(punkty > rekord)
- {
- Console.WriteLine("NOWY REKORD!!!");
- rekord = punkty;
- }
- Thread.Sleep(2000);
- Console.WriteLine("Chcesz zagrać jeszcze raz?");
- jeszczeRaz = Console.ReadLine();
- punkty = 0;
- } while (jeszczeRaz == "tak" || jeszczeRaz == "Tak");
- Console.ReadKey();
- }
- private static void NowaPlansza(int rozmiarPlanszy)
- {
- plansza = new string[rozmiarPlanszy];
- for (int i = 0; i < plansza.Length; i++)
- {
- plansza[i] = "";
- }
- }
- private static string UstawPrzeszkode(int pozycja)
- {
- string linia = " ";
- linia = linia.Insert(pozycja, PRZESZKODA);
- return linia;
- }
- private static string UstawNitro(int pozycja, string linia)
- {
- linia = linia.Remove(pozycja,1).Insert(pozycja, NITRO);
- return linia;
- }
- private static string UstawPunkty(int pozycja, string linia)
- {
- linia = linia.Insert(pozycja, PUNKTY);
- return linia;
- }
- private static void UstawGracza(int pozycja)
- {
- string linia = " "; //w cudzysłowie 3 spacje
- linia = linia.Insert(pozycja, GRACZ);
- plansza[plansza.Length - 1] = linia;
- }
- private static void PokazPlansze()
- {
- Console.Clear();
- for (int i = 0; i < plansza.Length; i++)
- {
- Console.WriteLine(plansza[i]);
- }
- Console.WriteLine($"Punkty: {punkty}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement