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.Tasks;
- namespace zgadywarka
- {
- class Program
- {
- static void Main(string[] args)
- {
- //Przekazanie uzytkownikowi co ma zrobic
- Console.WriteLine($"Pomysl sobie liczbe od 1 do 100");
- //Ilosc w jakiej program odgadl liczbe
- int guesses = 0;
- //maksymalna liczba
- int max = 100;
- //Minimalna liczba od ktorej zaczynamy zgadywanie
- int guessMin = 0;
- //Maksymalna liczba do ktorej program zgaduje (polowa maxa)
- int guessMax = max / 2;
- //dopoki minimalna liczba nie rowna sie maksymalnej
- while (guessMin != max)
- {
- //Zwiekszamy wartosc ilosci prob
- guesses++;
- //Program pyta uzytkownika czy jego liczba znajduje sie w przediale
- Console.WriteLine($"Czy twoja liczba znajduje sie w przedziale od {guessMin} do {guessMax}?");
- string response = Console.ReadLine();
- if (response?.ToLower().FirstOrDefault() == 't')
- {
- //Wiemy ze liczba jest miedzy guessMin a guessMax wiec ustalmy nowe maksimum
- max = guessMax;
- //uzyskanie nowej, maksymalnej liczby do zgadniecia
- guessMax = guessMax - (guessMax - guessMin) / 2;
- }
- //Liczba jest wieksza niz guessMax i mniejsza lub rowna maxowi
- else
- {
- //Ustalmy nowy guessMin
- guessMin = guessMax + 1;
- //nowa maksymalna liczba do ktorej program zgaduje
- int difference = max - guessMax;
- //Ustalenie guessMaxa
- guessMax +=(int)Math.Ceiling(difference / 2f);
- }
- //kiedy zostana 2 liczby
- if (guessMin + 1 == max)
- {
- //dalej kontrolujemy liczbe zgadniec
- guesses++;
- //Pytanie czy to mniejsza liczba
- Console.WriteLine($"Czy twoja liczba to {guessMin}?");
- response = Console.ReadLine();
- //Jezeli uzytkownik powie, ze tak
- if (response?.ToLower().FirstOrDefault() == 't')
- {
- break;
- }
- else
- {
- //wiemy to poniewaz zostaly dwie liczby i nie jest to liczba najmniejsza
- guessMin = max;
- break;
- }
- }
- }
- Console.WriteLine($"Twoja liczba to {guessMin}!");
- Console.WriteLine($"Zostala odgadnieta w {guesses} ruchach");
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement