Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- class MatrixConsole
- {
- static Random losowy = new Random();
- static int szerokosc = 8;
- static int wysokosc = 7;
- static char[] symbole = { '1', '0', ' ', '&' };
- static int licznikAmpersandow = 0;
- static int szansaNaAmpersand = 5; // Szansa w procentach na wylosowanie '&'
- static void Main()
- {
- string[] linie = new string[wysokosc];
- for (int i = 0; i < wysokosc; i++)
- {
- linie[i] = GenerujLinie();
- }
- for (int i = 0; i < 30; i++) // Symulacja trwa przez około 30 cykli
- {
- Console.Clear();
- foreach (var linia in linie)
- {
- Console.WriteLine(linia);
- }
- linie = PrzesunLinie(linie);
- Thread.Sleep(200); // Opóźnienie między aktualizacjami
- }
- // Zapytaj użytkownika o liczbę wystąpień '&'
- Console.WriteLine("\nIle razy pojawił się symbol '&'?");
- int odpowiedzUzytkownika;
- if (int.TryParse(Console.ReadLine(), out odpowiedzUzytkownika))
- {
- if (odpowiedzUzytkownika == licznikAmpersandow)
- {
- Console.WriteLine("Gratulacje! Twoja odpowiedź jest poprawna.");
- }
- else
- {
- Console.WriteLine($"Niestety, nie udało się. Prawidłowa odpowiedź to: {licznikAmpersandow}");
- }
- }
- else
- {
- Console.WriteLine("Wprowadzono nieprawidłowe dane.");
- }
- }
- static string GenerujLinie()
- {
- char[] linia = new char[szerokosc];
- for (int i = 0; i < szerokosc; i++)
- {
- if (losowy.Next(100) < szansaNaAmpersand) // Dodano warunek losowy dla '&'
- {
- linia[i] = '&';
- licznikAmpersandow++;
- }
- else
- {
- linia[i] = symbole[losowy.Next(symbole.Length - 1)]; // Ostatni symbol ('&') jest pomijany
- }
- }
- return new string(linia);
- }
- static string[] PrzesunLinie(string[] linie)
- {
- string[] noweLinie = new string[wysokosc];
- for (int i = 0; i < wysokosc - 1; i++)
- {
- noweLinie[i] = linie[i + 1];
- }
- noweLinie[wysokosc - 1] = GenerujLinie();
- return noweLinie;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement