コード例 #1
0
        static void Main(string[] args)
        {
            Gra g = new Gra(1, 10);

            Console.WriteLine(g.Ocena(propozycja: 5));
            Console.WriteLine(g.LicznikRuchow);
            Console.WriteLine(g.Ocena(propozycja: 7));
            Console.WriteLine(g.LicznikRuchow);
            //historia gry
            foreach (var ruch in g.Historia)
            {
                Console.WriteLine(ruch);
            }
        }
コード例 #2
0
        public void Rozgrywka()
        {
            widok.CzyscEkran();
            // ToDo: obsługa zakresu do losowania
            gra = new Gra(1, 100);
            do
            {
                int propozycja;
                try
                {
                    propozycja = widok.WczytajLiczbe();
                }
                catch (PrzerwaneWprowadzanieException)
                {
                    gra.Poddaj();
                    break;
                }

                switch (gra.Ocena(propozycja))
                {
                case Gra.Odpowiedz.ZaDuzo:
                    widok.WypiszKomunikatZaDuzo(); break;

                case Gra.Odpowiedz.ZaMalo:
                    widok.WypiszKomunikatZaMalo(); break;

                case Gra.Odpowiedz.Trafiony:
                    widok.WypiszKomunikatTrafiony(); break;
                }
            }while (gra.StatusGry == Gra.Status.Trwa);
            // wypisz statystyki gry
            // wypisz historię
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: hajduga123/projekt
        private void Sprawdz_Click(object sender, EventArgs e)
        {
            int liczba;

            try
            {
                liczba = int.Parse(liczbaDoSprawdzenia.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Nie podałeś liczby", "Błąd");
                return;
            }

            Gra.Odp odp = rozgrywna.Ocena(liczba);
            odpowiedz.Text           = odp.ToString();
            liczbaDoSprawdzenia.Text = "";
            liczbaDoSprawdzenia.Focus();

            string[]     row  = { liczba.ToString(), odp.ToString() };
            ListViewItem item = new ListViewItem(row);

            tabela.Items.Add(item);

            if (odp == Gra.Odp.Trafiono)
            {
                MessageBox.Show("Trafiłeś", "Gratulacje!");
                sprawdz.Enabled = false;
                Poddaj.Enabled  = false;
                poczatek.Text   = "";
                koniec.Text     = "";
                poczatek.Focus();
            }
        }
コード例 #4
0
        private void ButtonSprawdz_Click(object sender, EventArgs e)
        {
            Int32 temp = Convert.ToInt32(numericPodanaLiczba.Value);
            Odp   odp  = g.Ocena(temp, timer);

            labelKomunikatOdpowiedzi.Visible = true;
            groupBoxLosuj.Enabled            = false;
            switch (odp)
            {
            case Odp.Trafiono:
                labelKomunikatOdpowiedzi.ForeColor = Color.Green;
                labelKomunikatOdpowiedzi.Text      = "Udało ci się odgadnąć liczbę. Gratulacje!";
                buttonSprawdz.Enabled         = false;
                numericPodanaLiczba.Enabled   = false;
                buttonSprobujPonownie.Visible = true;
                timer1.Stop();
                initializeGameSummary();
                buttonPoddajGre.Enabled = false;
                break;

            case Odp.ZaDuzo:
                labelKomunikatOdpowiedzi.ForeColor = Color.Red;
                labelKomunikatOdpowiedzi.Text      = "Wartość zbyt duża. Spróbuj ponownie!";
                break;

            case Odp.ZaMalo:
                labelKomunikatOdpowiedzi.ForeColor = Color.Red;
                labelKomunikatOdpowiedzi.Text      = "Wartość zbyt mała. Spróbuj ponownie!";
                break;

            default: throw new Exception();
            }

            textBoxLicznikProb.Text = g.LicznikRuchow.ToString();
        }
コード例 #5
0
        private void button_Sprawdz_Click(object sender, EventArgs e)
        {
            int  proposition = int.Parse(textBox_Propozycja.Text);
            Enum response    = g.Ocena(proposition);

            if (response.ToString() == "ZaMalo")
            {
                label1.Text      = "Za mało!";
                label1.ForeColor = System.Drawing.Color.Red;
            }
            else if (response.ToString() == "ZaDuzo")
            {
                label1.Text      = "Za dużo!";
                label1.ForeColor = System.Drawing.Color.Red;
            }
            else
            {
                label1.Text      = "Trafiłeś!";
                label1.ForeColor = System.Drawing.Color.Green;

                button_NowaGra.Enabled  = true;
                button_Przerwij.Enabled = false;
                showEndGameElements();
            }
        }
コード例 #6
0
        private void Button4_Click(object sender, EventArgs e)
        {
            try
            {
                switch (g.Ocena(int.Parse(zgadywanaLiczba.Text)))
                {
                case Gra.Odpowiedz.ZaMalo:
                    odpowiedz.Text      = "Za mało";
                    odpowiedz.ForeColor = Color.Red;
                    break;

                case Gra.Odpowiedz.ZaDuzo:
                    odpowiedz.Text      = "Za dużo";
                    odpowiedz.ForeColor = Color.Red;
                    break;

                case Gra.Odpowiedz.Trafiono:
                    odpowiedz.Text      = "Trafiłeś";
                    odpowiedz.ForeColor = Color.Green;
                    Button1_Click(sender, e);
                    timer1.Stop();
                    czas.Text = "";
                    break;
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Podaj liczbe.");
            }
        }
コード例 #7
0
ファイル: Form1.cs プロジェクト: SebastianTyr/zgadywanka
        private void buttonSprawdz_Click(object sender, EventArgs e)
        {
            int p = 0;

            try
            {
                p = int.Parse(textBoxPropozycja.Text);
                int Do = int.Parse(textBoxZakresDo.Text);
                if (p > Do)
                {
                    throw new OverflowException();
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Niepoprawny format danych!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
                textBoxPropozycja.Clear();
            }
            catch (OverflowException)
            {
                MessageBox.Show("Propozycja wykracza poza zakres losowania!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
                textBoxPropozycja.Clear();
            }
            Odp odp = g.Ocena(p);

            switch (odp)
            {
            case Odp.ZaMalo:
            {
                labelOdpowiedz.Text      = "Status: " + "Za Mało";
                labelOdpowiedz.ForeColor = Color.Red;
                break;
            }

            case Odp.ZaDuzo:
            {
                labelOdpowiedz.Text      = "Status: " + "Za Dużo";
                labelOdpowiedz.ForeColor = Color.Red;
                break;
            }

            case Odp.Trafiono:
            {
                labelOdpowiedz.Text      = "Status: " + "Trafiono";
                labelOdpowiedz.ForeColor = Color.Green;
                labelWylosowana.Visible  = true;
                labelWylosowana.Text     = "Wylosowana liczba: " + g.CoByloWylosowane();
                labelLicznik.Visible     = true;
                labelLicznik.Text        = "Liczba ruchów: " + g.LicznikRuchow;
                labelCzasGry.Text        = "Czas Gry " + labelTime.Text;
                t.Stop();
                statystyki();

                buttonSprawdz.Enabled = false;
                buttonRestart.Enabled = true;
                buttonPoddaj.Enabled  = false;
                break;
            }
            }
        }
コード例 #8
0
        private void Sprawdz_Click_Click(object sender, EventArgs e)
        {
            komunikat.Visible = true;

            string test3 = PodanaLiczba.Text;

            if (string.IsNullOrEmpty(test3))
            {
                MessageBox.Show("Musisz podać swoją propozycję");
            }
            else
            {
                int c = int.Parse(PodanaLiczba.Text);
                if (Convert.ToString(g.Ocena(c)) == "ZaMalo")
                {
                    komunikat.Text = "Za Mało";
                }
                else if (Convert.ToString(g.Ocena(c)) == "ZaDuzo")
                {
                    komunikat.Text = "Za Dużo";
                }
                else
                {
                    string            message = $"Wygrałes czy chcesz zagrać jeszcze raz ? \n Ilość Ruchów: {Convert.ToString(g.LicznikRuchow - 1)}\n";
                    string            title   = "WYGRANA";
                    MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                    DialogResult      result  = MessageBox.Show(message, title, buttons);
                    if (result == DialogResult.No)
                    {
                        this.Close();
                    }
                    else
                    {
                        NowaGra.Enabled = true;
                        textBoxdo.Clear();
                        textBoxod.Clear();
                        PodanaLiczba.Clear();
                        textBoxod.Enabled       = true;
                        textBoxdo.Enabled       = true;
                        groupBox1.Visible       = false;
                        Losuj.Visible           = true;
                        Sprawdzanie_Box.Visible = false;
                        //Application.Restart();
                    }
                }
            }
        }
コード例 #9
0
ファイル: UnitTest1.cs プロジェクト: DarSpace/gra-zgadywanka-
        public void TestMethod_Ocena_LosowanieOK()
        {
            var g = new Gra(2, 10);

            var odp = g.Ocena(1);

            Assert.IsTrue(odp == Gra.Odp.ZaMalo);
        }
コード例 #10
0
        static void Main(string[] args)
        {
            Gra g = new Gra(1, 10);

            Gra.Odp odp = g.Ocena(5);
            Console.WriteLine(odp);
            if (odp != Gra.Odp.Trafiono)
            {
                odp = g.Ocena(7);
            }
            if (odp != Gra.Odp.Trafiono)
            {
                odp = g.Ocena(3);
            }
            foreach (var ruch in g.Historia)
            {
                Console.WriteLine($"{ruch.propozycja} {ruch.odp} {ruch.kiedy}");
            }
        }
        public void UruchomRozgrywke()
        {
            widok.CzyscEkran();
            widok.KomunikatPowitalny();
            Console.WriteLine($"{gra.MinLiczbaDoOdgadniecia} - { gra.MaxLiczbaDoOdgadniecia }");
            trwa = true;
            do
            {
                int propozycja = 0;
                try
                {
                    propozycja = widok.WczytajPropozycje();
                }
                catch (KoniecGryException)
                {
                    gra.Przerwij();
                    ZakonczGre();
                }

                Console.WriteLine(propozycja);

                if (gra.StatusGry == Gra.Status.Poddana)
                {
                    break;
                }

                switch (gra.Ocena(propozycja))
                {
                case ZaDuzo:
                    widok.KomunikatZaDuzo();
                    break;

                case ZaMalo:
                    widok.KomunikatZaMalo();
                    break;

                case Trafiony:
                    widok.KomunikatTrafiono();
                    break;

                default:
                    break;
                }
                widok.HistoriaGry();
            }while (gra.StatusGry == Gra.Status.WTrakcie);
            trwa = false;

            if (gra.StatusGry == Gra.Status.Zakonczona)
            {
                Console.WriteLine($"Odgadnieto: {gra.liczbaDoOdgadniecia}");
                trwa = false;
                Thread.Sleep(1000);
                UsunPoprzedniaGre();
            }
        }
コード例 #12
0
        public void UruchomRozgrywke()
        {
            widok.CzyscEkran();
            // ustaw zakres do losowania


            gra = new Gra(MinZakres, MaxZakres); //może zgłosić ArgumentException

            do
            {
                //wczytaj propozycję
                int propozycja = 0;
                try
                {
                    propozycja = widok.WczytajPropozycje();
                }
                catch (KoniecGryException)
                {
                    gra.Przerwij();
                }

                Console.WriteLine(propozycja);

                if (gra.StatusGry == Gra.Status.Poddana)
                {
                    break;
                }

                //Console.WriteLine( gra.Ocena(propozycja) );
                //oceń propozycję, break
                switch (gra.Ocena(propozycja))
                {
                case ZaDuzo:
                    widok.KomunikatZaDuzo();
                    break;

                case ZaMalo:
                    widok.KomunikatZaMalo();
                    break;

                case Trafiony:
                    widok.KomunikatTrafiono();
                    break;

                default:
                    break;
                }
                widok.HistoriaGry();
            }while (gra.StatusGry == Gra.Status.WTrakcie);

            //if StatusGry == Przerwana wypisz poprawną odpowiedź
            //if StatusGry == Zakończona wypisz statystyki gry
        }
コード例 #13
0
        static void Main(string[] args)
        {
            OpisGry();

            int min = GraMetodyPomocnicze.WczytajLiczbe("Podaj dolną granicę losowania: ") ?? int.MaxValue;
            int max = GraMetodyPomocnicze.WczytajLiczbe("Podaj górną granicę losowania: ") ?? int.MinValue;

            var gra = new Gra(min, max);

            Console.WriteLine("Wylosowałem liczbę, odgadnij ją");

            do
            {
                var prop = GraMetodyPomocnicze.WczytajLiczbe("Podaj swoja propozycję (lub X aby poddać): ");
                if (!prop.HasValue)  // is null
                {
                    gra.Poddaj();
                    break;
                }

                var odp = gra.Ocena(prop.Value);

                switch (odp)
                {
                case Gra.Odpowiedz.ZaMalo:
                    GraMetodyPomocnicze.ColorWriteLine("za mało", ConsoleColor.Red);
                    break;

                case Gra.Odpowiedz.Trafiono:
                    GraMetodyPomocnicze.ColorWriteLine("TRAFIŁEŚ", ConsoleColor.Green);
                    break;

                case Gra.Odpowiedz.ZaDuzo:
                    GraMetodyPomocnicze.ColorWriteLine("za duzo", ConsoleColor.Red);
                    break;

                default:
                    break;
                }

                if (odp == Gra.Odpowiedz.Trafiono)
                {
                    break;
                }
            }while (true);

            foreach (var ruch in gra.ListaRuchow)
            {
                Console.WriteLine(ruch);
            }
            Console.WriteLine($"Czas gry: {gra.CzasGry}");
        }
コード例 #14
0
        private void SprawdzButton_Click(object sender, EventArgs e)
        {
            int zgadywana = 0;

            Gra.Odpowiedz odp;
            try
            {
                zgadywana = int.Parse(textBox_Zgaduj.Text);
            }
            catch
            {
            }

            odp = g.Ocena(zgadywana);

            label_ruchy.Text = g.LicznikRuchow.ToString();

            switch (odp)
            {
            case Gra.Odpowiedz.ZaMalo:
                label_wynik.Text = "Za mało";
                break;

            case Gra.Odpowiedz.Trafiono:
                label_wynik.Text = "Trafiono";

                break;

            case Gra.Odpowiedz.ZaDuzo:
                label_wynik.Text = "Za dużo";
                break;
            }

            if (g.Stan == Gra.StanGry.Odgadnieta)
            {
                DialogResult wygrana = MessageBox.Show($"           Brawo !!!\nWylosowana liczba to {g.Wylosowana}", "Brawo !!!", MessageBoxButtons.OK, MessageBoxIcon.Information);

                button_poddaj.Enabled  = false;
                SprawdzButton.Enabled  = false;
                textBox_Zgaduj.Enabled = false;

                if (wygrana == DialogResult.OK)
                {
                    Zgaduj.Visible          = false;
                    grpBoxLosowanie.Visible = false;
                    btnNowaGra.Enabled      = true;
                    g.Resetuj_licznik();
                }
            }
        }
コード例 #15
0
        private void buttonSprawdz_Click(object sender, EventArgs e)
        {
            int zgadywana = 0;

            Gra.Odp odp;
            try
            {
                zgadywana = int.Parse(textBoxLosuj.Text);
            }
            catch
            {
            }
            odp = g.Ocena(zgadywana);

            labelRuchy.Text = g.LicznikRuchow.ToString();

            switch (odp)
            {
            case Gra.Odp.ZaMalo:
                labelWynik.Text = "Za mało";
                break;

            case Gra.Odp.ZaDuzo:
                labelWynik.Text = "Za dużo";
                break;

            case Gra.Odp.Trafiono:
                labelWynik.Text = "Udało się!";
                break;
            }

            if (g.Stan == Gra.StanGry.Odgadnieta)
            {
                DialogResult wygrana = MessageBox.Show($"Brawo! Wylosowana liczba to {g.CoByloWylosowane()}", "Brawo!", MessageBoxButtons.OK, MessageBoxIcon.Information);

                buttonPoddaj.Enabled  = false;
                buttonSprawdz.Enabled = false;
                textBoxLosuj.Enabled  = false;

                if (wygrana == DialogResult.OK)
                {
                    groupBoxZgaduj.Visible    = false;
                    groupBoxLosowanie.Visible = false;
                    buttonNowaGra.Enabled     = true;
                    g.ResetujLicznik();
                }
            }
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: sewiloj/zgadywanka
            public bool Play()
            {
                Gra  gra      = new Gra(min, max);
                bool trafiono = false;

                do
                {
                    Console.WriteLine("Jeśli chcesz wyświetlić historię odpowiedzi wpisz 'h'");
                    Console.WriteLine("Jeśli chcesz się poddać wpisz 'p'");
                    Console.Write("Podaj swoją propozycję: ");
                    propozycjaS = Console.ReadLine();

                    try
                    {
                        propozycja = int.Parse(propozycjaS);
                    }
                    catch (FormatException)
                    {
                        if (propozycjaS.ToUpper() == "H")
                        {
                            ShowHistory(gra.Historia);
                        }
                        else if (propozycjaS.ToUpper() == "P")
                        {
                            Surrender(gra);
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Nie podałeś liczby ani 'h'!");
                        }
                        continue;
                    }
                    catch (ArgumentOutOfRangeException)
                    {
                        Console.WriteLine("Wykraczasz poza ustalony przez siebie zakres!");
                        continue;
                    }
                    Odp ocena = gra.Ocena(propozycja);
                    if (ocena == Odp.Trafiono)
                    {
                        trafiono = true;
                    }
                    Console.WriteLine($"{ocena}");
                } while (!trafiono);

                return(false);
            }
コード例 #17
0
        private void Sprawdz_Click(object sender, EventArgs e)
        {
            int sprawdzana2 = int.Parse(textBoxSprawdzana.Text);

            Odpowiedz.Text = Convert.ToString(g.Ocena(sprawdzana2));
            if ((Odpowiedz.Text == "ZaDużo") || (Odpowiedz.Text == "ZaMało"))
            {
                Odpowiedz.ForeColor = Color.Red;
            }
            else
            {
                Odpowiedz.ForeColor = Color.Green;
                Koniec_gry();
            }
            Odpowiedz.Visible = true;
        }
コード例 #18
0
ファイル: Form1.cs プロジェクト: WSEI-WdP-master/Zgadywanka
        private void buttonOcena_Click(object sender, EventArgs e)
        {
            int propozycja = int.Parse(textBoxPropozycja.Text);
            var odp        = gra.Ocena(propozycja);

            switch (odp)
            {
            case Gra.Odpowiedz.Trafiony:
                labelOdpowiedz.Text = "Trafiono"; break;

            case Gra.Odpowiedz.ZaDuzo:
                labelOdpowiedz.Text = "Za dużo"; break;

            case Gra.Odpowiedz.ZaMalo:
                labelOdpowiedz.Text = "Za mało"; break;
            }
        }
コード例 #19
0
ファイル: Form1.cs プロジェクト: Leszekbugaj/Zgadywanka-lab5
        private void button_sprawdz_Click(object sender, EventArgs e)
        {
            int podana_liczba;

            try
            {
                podana_liczba = int.Parse(textBox_podajliczbe.Text);
            }

            catch
            {
                podana_liczba = 0;
            }

            switch (g.Ocena(podana_liczba))
            {
            case Gra.Odpowiedz.ZaMalo:
                label_ocena.Text = "Za Mało";
                break;

            case Gra.Odpowiedz.Trafiono:
                label_ocena.Text = "Trafiono";
                break;

            case Gra.Odpowiedz.ZaDuzo:
                label_ocena.Text = "Za Dużo";
                break;
            }

            label_wynik0.Text = g.LicznikRuchow.ToString();

            if (g.Stan == Gra.StanGry.Odgadnieta)
            {
                DialogResult ok = MessageBox.Show("Brawo zgadłeś", "Wygrana", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (ok == DialogResult.OK)
                {
                    grpBoxLosowanie.Visible = false;
                    groupBox_Gra.Visible    = false;
                    btnNowaGra.Enabled      = true;
                    textBoxDo.Enabled       = true;
                    textBoxOd.Enabled       = true;
                    btnLosuj.Enabled        = true;
                }
            }
        }
コード例 #20
0
        private void ButtonSprawdz_Click(object sender, EventArgs e)
        {
            int propozycja;

            try
            {
                propozycja = int.Parse(textBoxPodajLiczbe.Text);
            }
            catch (FormatException)
            {
                labelError.Text      = "Błąd! Wprowadziłeś błędne znaki!";
                labelError.ForeColor = Color.Red;
                labelError.Visible   = true;
                return;
            }

            labelError.Visible = false;

            Odp odpowiedz = gra.Ocena(propozycja);

            if (odpowiedz == Odp.ZaMalo)
            {
                labelOcena.Text      = "Za mało! Spróbuj jeszcze raz!";
                labelOcena.ForeColor = Color.Red;
            }
            else if (odpowiedz == Odp.ZaDuzo)
            {
                labelOcena.Text      = "Za dużo! Spróbuj Jeszcze raz!";
                labelOcena.ForeColor = Color.Red;
            }
            else
            {
                labelOcena.Text            = "Trafiono! Koniec gry.";
                labelOcena.ForeColor       = Color.Green;
                textBoxPodajLiczbe.Enabled = false;
                buttonSprawdz.Enabled      = false;
                buttonPoddajSie.Enabled    = false;
            }

            labelOcena.Visible = true;
        }
コード例 #21
0
ファイル: Form1.cs プロジェクト: wiktoradamczyk/zgadywanka
        private void button1_Click(object sender, EventArgs e)
        {
            Gra.Odpowiedz odpowiedz;
            odpowiedz = g.Ocena(int.Parse(textBox1.Text));


            switch (odpowiedz)
            {
            case Gra.Odpowiedz.ZaDuzo:
                label2.Text = "Za dużo";
                break;

            case Gra.Odpowiedz.ZaMalo:
                label2.Text = "Za mało";
                break;

            case Gra.Odpowiedz.Trafiono:
                label2.Text = "Trafiono";
                break;
            }
        }
コード例 #22
0
        private void button1_Click(object sender, EventArgs e)
        {
            Gra.Odpowiedz odpowiedz;
            odpowiedz = g.Ocena(int.Parse(textBox1.Text));


            switch (odpowiedz)
            {
            case Gra.Odpowiedz.ZaDuzo:
                komunikat.Text = "Podaj mniejszą";
                break;

            case Gra.Odpowiedz.ZaMalo:
                komunikat.Text = "Podaj większą";
                break;

            case Gra.Odpowiedz.Trafiono:
                komunikat.Text = "Trafiono!";
                MessageBox.Show("Zgadłeś po " + g.LicznikRuchow + " próbach!", "Gratulacje!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                break;
            }
        }
コード例 #23
0
        private void Check_Click(object sender, EventArgs e)
        {
            var resp = g.Ocena(Int32.Parse(pickedNumber.Text));

            if (resp == Odp.Trafiono)
            {
                response.Text     = "Trafiłeś";
                finishBox.Visible = true;
                countTime.stopWatch();
                endTimeLabel.Text       = "Całkowity czas gry: " + countTime.countedTime.ToString();
                NumberOfTurnsLabel.Text = "Liczba ruchów: " + g.getHistoria().Count.ToString();
                randomNumberLabel.Text  = "Wylosowana: " + g.CoByloWylosowane().ToString();
            }
            else if (resp == Odp.ZaDuzo)
            {
                response.Text = "Za Dużo";
            }
            else
            {
                response.Text = "Za Mało";
            }
        }
コード例 #24
0
ファイル: Form1.cs プロジェクト: Marcin434/zgadywanka
        private void ButtonSprawdz_Click(object sender, EventArgs e)
        {
            try
            {
                var c = int.Parse(textBoxPropozycja.Text);

                var o = (int)g.Ocena(c);

                if (o == 1)
                {
                    labelOdpowiedz.Text      = "Trafiono";
                    groupBoxKoniec.Visible   = true;
                    labelWylosowanaD.Text    = g.Wylosowana.ToString();
                    labelLiczbaRuchowD.Text  = g.LicznikRuchow.ToString();
                    groupBoxGra.Enabled      = false;
                    buttonNowaGra.Enabled    = true;
                    buttonPrzerwij.Enabled   = false;
                    labelOdpowiedz.ForeColor = System.Drawing.Color.Green;
                    labelOdgadnieta.Text     = "Odgadniêta";
                    labelOdpowiedz.ForeColor = System.Drawing.Color.Green;
                    timer1.Enabled           = false;
                }
                else if (o == -1)
                {
                    labelOdpowiedz.Text      = "Za ma³o";
                    labelOdpowiedz.ForeColor = System.Drawing.Color.Blue;
                }
                else if (o == 0)
                {
                    labelOdpowiedz.Text      = "Za du¿o";
                    labelOdpowiedz.ForeColor = System.Drawing.Color.Red;
                }
            }
            catch (System.FormatException)
            {
                MessageBox.Show("B³êdna liczba");
            }
        }
コード例 #25
0
        public void Rozgrywka()
        {
            widok.CzyscEkran();
            //ToDo: ustaw zakres do losowania
            gra = new Gra(1, 100);
            //Console.WriteLine("Wylosowano" + gra.wylosowanaLiczba); //do usunięcia
            do
            {
                int propozycja = 0;
                try
                { propozycja = widok.WczytajLiczbe(); }
                catch (PrzerwaneWprowadzanieException)
                {
                    gra.Poddaj();
                    break;
                }


                switch (gra.Ocena(propozycja))
                {
                case Gra.Odpowiedz.ZaDuzo:
                    widok.WypiszKomunikatZaDuzo();
                    break;

                case Gra.Odpowiedz.ZaMalo:
                    widok.WypiszKomunikatZaMalo();
                    break;

                case Gra.Odpowiedz.Trafiony:
                    widok.WypiszKomunikatTrafiony();
                    break;
                }
            }while (gra.StatusGry == Gra.Status.WTrakcie);
            //wypisz status gry
            widok.WypiszStatystykiGry();
            widok.WypiszHistorieGry();
        }
コード例 #26
0
        private void Button1_Click(object sender, EventArgs e)
        {
            var iloscProb = g.LicznikRuchow + 1;

            licznikProb.Text = iloscProb.ToString();


            var o = g.Ocena(int.Parse(textBoxPropozycja.Text));

            labelPodpowiedz.Text = o.ToString();

            if (o.ToString() == "Trafiono")
            {
                pictureBox1.Visible  = true;
                pictureBox3.Visible  = false;
                labelPodpowiedz.Text = "Gratulacje! Wygrałeś!";
            }
            else if (o.ToString() == "ZaMalo")
            {
                pictureBox3.Visible  = true;
                pictureBox1.Visible  = false;
                labelPodpowiedz.Text = "Liczba jest za mała. Spróbuj jeszcze raz.";
            }
            else if (o.ToString() == "ZaDuzo")
            {
                pictureBox3.Visible  = true;
                pictureBox1.Visible  = false;
                labelPodpowiedz.Text = "Liczba jest za duża. Spróbuj jeszcze raz.";
            }
            else
            {
                pictureBox3.Visible  = false;
                pictureBox1.Visible  = false;
                labelPodpowiedz.Text = "Nie wiem co sie stało!";
            }
        }
コード例 #27
0
        public void UruchomRozgrywke()
        {
            widok.CzyscEkran();

            // Sprobuj wczytac rozgrywke lub rozpocznij nowa.
            if (IsSaveFile)
            {
                WczytajRozgrywke();
            }
            else
            {
                RozpocznijNowaRozgrywke();
            };


            RozpocznijAutoZapis();

            do
            {
                //wczytaj propozycję
                int propozycja = 0;
                try
                {
                    propozycja = widok.WczytajPropozycje();
                }
                catch (KoniecGryException)
                {
                    gra.Przerwij();
                    ZakonczGre();
                }


                Console.WriteLine(propozycja);



                if (gra.StatusGry == Gra.Status.Poddana)
                {
                    break;
                }

                //Console.WriteLine( gra.Ocena(propozycja) );
                //oceń propozycję, break
                switch (gra.Ocena(propozycja))
                {
                case ZaDuzo:
                    widok.KomunikatZaDuzo();
                    break;

                case ZaMalo:
                    widok.KomunikatZaMalo();
                    break;

                case Trafiony:
                    widok.KomunikatTrafiono();
                    break;

                default:
                    break;
                }
                widok.HistoriaGry();
            }while (gra.StatusGry == Gra.Status.WTrakcie);

            //if StatusGry == Przerwana wypisz poprawną odpowiedź
            //if StatusGry == Zakończona wypisz statystyki gry
        }
コード例 #28
0
        public void UruchomRozgrywke()
        {
            widok.CzyscEkran();
            string filePath        = "zapis.xml";
            bool   czyPlikIstnieje = File.Exists(filePath);

            if (czyPlikIstnieje && widok.ChceszKontynuowac("Czy chcesz wznowić grę? (t/n)"))
            {
                try
                {
                    gra = dataSerializator.Deserialize();
                    gra.Odwies();
                    widok.HistoriaGry();
                }
                catch (SerializationException)
                {
                    Console.WriteLine("Nie udalo sie odczytac pliku!");
                    gra = new Gra(MinZakres, MaxZakres);
                    File.Delete("zapis.xml");
                }
            }
            else
            {
                gra = new Gra(MinZakres, MaxZakres); //może zgłosić ArgumentException
                File.Delete("zapis.xml");
            }

            do
            {
                //wczytaj propozycję
                int propozycja = 0;
                try
                {
                    propozycja = widok.WczytajPropozycje();
                }
                catch (KoniecGryException)
                {
                    gra.Zawies();
                    try
                    {
                        dataSerializator.Serialize(gra);
                        Console.WriteLine("Gra zostala zapisana");
                    }
                    catch (SerializationException)
                    {
                        Console.WriteLine("Gra nie została zapisana!");
                    }
                    Environment.Exit(0);
                }

                Console.WriteLine(propozycja);

                if (gra.StatusGry == Gra.Status.Poddana)
                {
                    break;
                }

                //Console.WriteLine( gra.Ocena(propozycja) );
                //oceń propozycję, break
                switch (gra.Ocena(propozycja))
                {
                case ZaDuzo:
                    widok.KomunikatZaDuzo();
                    break;

                case ZaMalo:
                    widok.KomunikatZaMalo();
                    break;

                case Trafiony:
                    widok.KomunikatTrafiono();
                    break;

                default:
                    break;
                }
                widok.HistoriaGry();
            }while (gra.StatusGry == Gra.Status.WTrakcie);

            //if StatusGry == Przerwana wypisz poprawną odpowiedź
            if (gra.StatusGry == Gra.Status.Zakonczona)
            {
                File.Delete(filePath);
                //widok.HistoriaGry();
                widok.KomunikatKoncowy(gra.CalkowityCzasGry);
            }
        }
コード例 #29
0
        public void UruchomRozgrywke(/*bool nowa*/)
        {
            widok.CzyscEkran();
            widok.KomunikatPowitalny();
            Console.WriteLine($"{gra.MinLiczbaDoOdgadniecia} - { gra.MaxLiczbaDoOdgadniecia }");
            //if(nowa)
            //    UstawZakresDoLosowania();
            //gra = new Gra(MinZakres, MaxZakres);
            //widok.KomunikatPowitalny();
            trwa = true;
            do
            {
                int propozycja = 0;
                try
                {
                    propozycja = widok.WczytajPropozycje();
                }
                catch (KoniecGryException)
                {
                    gra.Przerwij();
                    ZakonczGre();
                }

                Console.WriteLine(propozycja);

                if (gra.StatusGry == Gra.Status.Poddana)
                {
                    break;
                }

                //Console.WriteLine( gra.Ocena(propozycja) );
                //oceń propozycję, break
                switch (gra.Ocena(propozycja))
                {
                case ZaDuzo:
                    widok.KomunikatZaDuzo();
                    break;

                case ZaMalo:
                    widok.KomunikatZaMalo();
                    break;

                case Trafiony:
                    widok.KomunikatTrafiono();
                    break;

                default:
                    break;
                }
                widok.HistoriaGry();
            }while (gra.StatusGry == Gra.Status.WTrakcie);
            trwa = false;

            //if StatusGry == Przerwana wypisz poprawną odpowiedź
            //if(gra.StatusGry == Gra.Status.Poddana)
            //    Console.WriteLine(gra.liczbaDoOdgadniecia);
            //if StatusGry == Zakończona wypisz statystyki gry
            if (gra.StatusGry == Gra.Status.Zakonczona)
            {
                Console.WriteLine($"Odgadnieto: {gra.liczbaDoOdgadniecia}");
                trwa = false;
                Thread.Sleep(1000);
                UsunPoprzedniaGre();
                //widok.CzyscEkran();
                //widok.HistoriaGry();
            }
        }