Ejemplo n.º 1
0
        //! Metoda rysująca pełny ciąg znaków na panelu graficznym g (tylko tryb treningu).
        private void RysT(grafika graf)
        {
            graf.Clear();
            x = 50;
            int dlugosc = 0;

            znaki = "";
            for (int rr = 0; rr < dl; rr++)
            {
                for (int j = 0; j < losowy[rr].znak.Length; j++)
                {
                    znaki = znaki + losowy[rr].znak[j];
                }
                if (nadawanie)
                {
                    graf.RysN1(x, y, losowy[rr].litera, losowy[rr].kolor, tekst);
                    dlugosc = TextRenderer.MeasureText(losowy[rr].litera, new Font("Arial", 48)).Width;
                }
                else if (!nadawanie)
                {
                    graf.RysN1(x, y, znaki, losowy[rr].kolor, tekst);
                    dlugosc = TextRenderer.MeasureText(znaki, new Font("Arial", 48)).Width;
                }
                znaki = "";
                x    += dlugosc + 5;
            }
        }
Ejemplo n.º 2
0
        //! Metoda generująca losowy ciąg znaków (tylko tryb treningu).
        private void generator(grafika graf)
        {
            znaki = "";
            int liczba;
            int dlugosc = 0;

            x = 50;
            Random rnd = new Random();

            k += 1;
            for (int r = 0; r < dl; r++)
            {
                k        += 2;
                liczba    = rnd.Next(26);
                losowy[r] = new element(alfabet[liczba].litera, alfabet[liczba].znak);
                for (int j = 0; j < losowy[r].znak.Length; j++)
                {
                    znaki = znaki + losowy[r].znak[j];
                    uzupZ(r, liczba, j);
                }
                if (fa == 4)
                {
                    k += 1;
                }
                else
                {
                    k += 4;
                }
                if (nadawanie)
                {
                    graf.RysN1(x, y, losowy[r].litera, Color.Black, tekst);
                    dlugosc = TextRenderer.MeasureText(losowy[r].litera, new Font("Arial", 48)).Width;
                }
                else if (!nadawanie)
                {
                    graf.RysN1(x, y, znaki, Color.Black, tekst);
                    dlugosc = TextRenderer.MeasureText(znaki, new Font("Arial", 48)).Width;
                }
                znaki = "";
                x    += dlugosc + 5;
            }
            k += 2 + fa;
        }
Ejemplo n.º 3
0
        //! Metoda obsługująca tryb nauki biernej.
        internal async void Nauka1(grafika graf, dzwiek dzwk)
        {
            nauka = true;
            x     = 450;
            while (nauka)
            {
                graf.Clear();
                graf.off();
                for (int i = 0; i < 26; i++)
                {
                    znaki = alfabet[i].litera + "     ";
                    k     = 3;
                    for (int j = 0; j < alfabet[i].znak.Length; j++)
                    {
                        znaki = znaki + alfabet[i].znak[j];
                        uzupZ(0, i, j);
                    }
                    k = k + fa;
                    z = 0;
                    graf.RysN1(x, y, znaki, Color.Black, true);
                    for (int l = 0; l < k; l++)
                    {
                        await Task.Delay(mn * 5);

                        if (reset || menu)
                        {
                            if (menu)
                            {
                                menu  = false;
                                nauka = false;
                                return;
                            }
                            break;
                        }
                        if (l > 2 && (swiatlo || dzwiek))
                        {
                            mrug(0, l, alfabet[i].znak.Length, graf, dzwk);
                        }
                    }
                    if (reset)
                    {
                        reset = false;
                        break;
                    }
                    graf.Clear();
                }
            }
        }
Ejemplo n.º 4
0
        //! Metoda obsługująca tryb nauki czynnej.
        internal async void Nauka2(grafika graf, Label label1, Label label2, TextBox textBox1, dzwiek dzwk)
        {
            nauka       = true;
            bledy       = 0;
            x           = 510;
            label2.Text = "Błędy: " + bledy;
            textBox1.Clear();
            while (nauka)
            {
                graf.Clear();
                label1.ForeColor     = Color.Green;
                label1.Text          = "Wpisz literę odpowiadającą symbolowi";
                graf.drawBrush.Color = Color.Black;
                for (int i = 0; i < 26; i++)
                {
                    znaki2   = "";
                    znaki    = "";
                    keyPress = 0;
                    poprawne = false;
                    graf.Clear();
                    k = 3;
                    z = 0;
                    for (int j = 0; j < alfabet[i].znak.Length; j++)
                    {
                        znaki = znaki + alfabet[i].znak[j];
                        uzupZ(0, i, j);
                    }
                    k = k + fa;
                    if (nadawanie)
                    {
                        graf.RysN1(x, y, alfabet[i].litera, Color.Black, tekst);
                    }
                    else if (!nadawanie)
                    {
                        graf.RysN1(x, y, znaki, Color.Black, tekst);
                    }
                    while (!poprawne)
                    {
                        if (nadawanie)
                        {
                            await Task.Delay(5);

                            if (reset || menu)
                            {
                                if (menu)
                                {
                                    menu  = false;
                                    nauka = false;
                                    return;
                                }
                                break;
                            }
                            textBox1.Text = znaki2;
                            if (keyPress == alfabet[i].znak.Length)
                            {
                                spraw(znaki, graf, label1, label2);
                            }
                        }
                        else if (!nadawanie)
                        {
                            for (int l = 0; l < k && !poprawne; l++)
                            {
                                await Task.Delay(mn * 5);

                                if (reset || menu)
                                {
                                    if (menu)
                                    {
                                        menu  = false;
                                        nauka = false;
                                        return;
                                    }
                                    break;
                                }
                                if (l > 2 && (swiatlo || dzwiek))
                                {
                                    mrug(0, l, alfabet[i].znak.Length, graf, dzwk);
                                }
                                if (keyPress > 0)
                                {
                                    spraw(alfabet[i].litera, graf, label1, label2);
                                    textBox1.Text = "";
                                    if (poprawne)
                                    {
                                        z = 0;
                                    }
                                }
                            }
                        }
                        if (reset)
                        {
                            break;
                        }
                    }
                    if (reset)
                    {
                        reset = false;
                        bledy = 0;
                        break;
                    }
                    graf.drawBrush.Color = Color.Black;
                    if (i == 25)
                    {
                        nauka = false;
                        graf.Clear();
                        textBox1.Text        = "";
                        graf.drawBrush.Color = Color.Green;
                        label1.Text          = "Dobra robota. Poprawnie zakodowałeś cały ciąg.";
                        while (!menu)
                        {
                            await Task.Delay(mn * 5);

                            if (reset)
                            {
                                reset       = false;
                                nauka       = true;
                                bledy       = 0;
                                label2.Text = "Błędy: " + bledy;
                                break;
                            }
                        }
                    }
                }
            }
        }