Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class HelloWorld
- {
- static void Main()
- {
- string[] rysunkiWisielca = UtworzRysunkiWisielca();
- string[] tablicaHasel = UtworzListeHasel();
- string wylosowaneHaslo = WylosujHaslo(tablicaHasel);
- (string hasloDoWyswietlenia, int liczbaNieLiter) = ZakryjHaslo(wylosowaneHaslo);
- System.Console.WriteLine(wylosowaneHaslo); // do testów, docelowo usunąć
- System.Console.WriteLine(hasloDoWyswietlenia);
- OdgadujHaslo(wylosowaneHaslo, hasloDoWyswietlenia, liczbaNieLiter, rysunkiWisielca);
- }
- private static void OdgadujHaslo(string wylosowaneHaslo, string hasloDoWyswietlenia,
- int liczbaNieLiter, string[] rysunkiWisielca)
- {
- int liczbaPomylek = 0; // index z rysunkiWisielca
- int liczbaOdslonietychLiter = 0;
- string uzyteLitery = "";
- while (liczbaOdslonietychLiter < wylosowaneHaslo.Length - liczbaNieLiter)
- {
- Console.Clear();
- System.Console.WriteLine(wylosowaneHaslo); // do testów, docelowo usunąć
- System.Console.WriteLine(rysunkiWisielca[liczbaPomylek]);
- System.Console.WriteLine();
- System.Console.WriteLine(hasloDoWyswietlenia);
- System.Console.WriteLine($"Uzyte litery: {uzyteLitery}");
- System.Console.Write($"Podaj literę: ");
- char wpisanaLitera = Console.ReadLine()[0];
- if (!uzyteLitery.Contains(wpisanaLitera))
- {
- uzyteLitery += wpisanaLitera;
- if (wylosowaneHaslo.Contains(wpisanaLitera)
- && !hasloDoWyswietlenia.Contains(wpisanaLitera))
- {
- for (int i = 0; i < wylosowaneHaslo.Length; i++)
- {
- if(wylosowaneHaslo[i] == wpisanaLitera)
- {
- hasloDoWyswietlenia = hasloDoWyswietlenia.Remove(i,1);
- hasloDoWyswietlenia =
- hasloDoWyswietlenia.Insert(i, wpisanaLitera.ToString());
- liczbaOdslonietychLiter++;
- }
- }
- }
- else
- {
- liczbaPomylek++;
- if (liczbaPomylek >= rysunkiWisielca.Length-1)
- {
- System.Console.WriteLine(rysunkiWisielca[liczbaPomylek]);
- System.Console.WriteLine("Przegraleś!!! Spróbuj z innym hasłem");
- return;
- }
- }
- }
- }
- System.Console.WriteLine($"Brawo, wygrałeś!!! Hasłem bylo {wylosowaneHaslo}");
- Console.ReadKey();
- }
- private static (string hasloDoWyswietlenia, int liczbaNieLiter) ZakryjHaslo(string wylosowaneHaslo)
- {
- int liczbaNieLiter = 0;
- string hasloDoWyswietlenia = "";
- for (int i = 0; i < wylosowaneHaslo.Length; i++)
- {
- char znak = wylosowaneHaslo[i];
- if (char.IsLetter(znak))// sprawdza czy znak jest literą
- {
- hasloDoWyswietlenia += '_';
- }
- else
- {
- hasloDoWyswietlenia += znak;
- liczbaNieLiter++;
- }
- }
- return (hasloDoWyswietlenia, liczbaNieLiter);
- }
- private static string WylosujHaslo(string[] tablicaHasel)
- {
- Random maszynaLosujaca = new Random();
- return tablicaHasel[maszynaLosujaca.Next(0, tablicaHasel.Length)];
- }
- private static string[] UtworzListeHasel()
- {
- return new string[] { "Grand Thief Auto V", "Assasin's Creed Shadow", "Baldur's Gate 3",
- "Guild Wars 2", "Star Wars The Old Republic"};
- }
- private static string[] UtworzRysunkiWisielca()
- {
- return new string[]{
- @"
- +---+
- | |
- |
- |
- |
- |
- =========" ,
- @"
- +---+
- | |
- O |
- |
- |
- |
- =========" ,
- @"
- +---+
- | |
- O |
- | |
- |
- |
- =========" ,
- @"
- +---+
- | |
- O |
- /| |
- |
- |
- =========" ,
- @"
- +---+
- | |
- O |
- /|\ |
- |
- |
- =========" ,
- @"
- +---+
- | |
- O |
- /|\ |
- / |
- |
- =========" ,
- @"
- +---+
- | |
- O |
- /|\ |
- / \ |
- |
- ========="
- };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement