private void lvl1Creator()
        {
            int pos = GenPos();

            switch (oc[rand.Next(1)].symbol)
            {
            case 1:
                int a1 = rand.Next(0, 101);
                int a2 = rand.Next(0, 101 - a1);
                answer         = a1 + a2;
                genNumber[pos] = a1;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, a1);
                pos            = GenPos();
                genNumber[pos] = a2;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, a2);
                break;

            case 2:
                int s1   = rand.Next(0, 101);
                int s2   = rand.Next(0, 101 - s1);
                int sAns = s1 + s2;
                answer         = s1;
                genNumber[pos] = s2;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, s2);
                pos            = GenPos();
                genNumber[pos] = sAns;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, sAns);
                break;

            case 3:
                int m1 = rand.Next(1, 50);
                int m2 = rand.Next(0, 100 / m1);
                answer         = m1 * m2;
                genNumber[pos] = m1;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, m1);
                pos            = GenPos();
                genNumber[pos] = m2;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, m2);
                break;

            case 4:
                int d1 = rand.Next(1, 50);
                int d2 = rand.Next(1, 100 / d1);
                answer         = d2;
                genNumber[pos] = d1;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, d1);
                pos            = GenPos();
                genNumber[pos] = d2 * d1;
                nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, d2 * d1);
                break;
            }
            int freeElement = 0;

            foreach (int element in genNumber)
            {
                if (element == -1)
                {
                    nc[freeElement] = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * freeElement, 0, rand.Next(0, 100));
                }
                freeElement++;
            }
        }
Пример #2
0
        public void numberCardClick(object sender, EventArgs e)
        {
            Color      back = ColorTranslator.FromHtml("#002640");
            NumberCard card = sender as NumberCard;

            if (card.BackColor != back)
            {
                card.BackColor = back;
                if (firstNum.Text == "Nombre 1")
                {
                    firstNum.Text = card.value.ToString();
                    calInPro.Text = card.value.ToString();
                    nb1           = card.value;
                    card.used     = true;
                }
                else
                {
                    if (op.Text != "Operateur")
                    {
                        secondNum.Text = card.value.ToString();
                        switch (op.Text)
                        {
                        case "+":
                            calInPro.Text = (nb1 + card.value).ToString();
                            nb2           = nb1 + card.value;
                            card.used     = true;
                            break;

                        case "-":
                            calInPro.Text = (nb1 - card.value).ToString();
                            nb2           = nb1 - card.value;
                            card.used     = true;
                            break;

                        case "x":
                            calInPro.Text = (nb1 * card.value).ToString();
                            nb2           = nb1 * card.value;
                            card.used     = true;
                            break;

                        case "/":
                            calInPro.Text = (nb1 / card.value).ToString();
                            if (nb1 % card.value == 0)
                            {
                                nb2       = nb1 / card.value;
                                card.used = true;
                            }
                            break;
                        }
                    }
                    if (calInPro.Text == answer.Text)
                    {
                        win();
                    }
                    else
                    {
                        nb1            = nb2;
                        firstNum.Text  = calInPro.Text;
                        op.Text        = "Operateur";
                        secondNum.Text = "Nombre 2";
                    }
                }
            }
        }
        private void lvl2Creator()
        {
            for (int i = 1; i < 3; i++)
            {
                int pos = GenPos();
                switch (oc[i - 1].symbol)
                {
                case 1:
                    int a1;
                    if (i < 2)
                    {
                        a1 = rand.Next(1, 50);
                    }
                    else
                    {
                        a1 = answer;
                    }
                    int a2 = rand.Next(1, 50 * i - a1);
                    answer         = a1 + a2;
                    genNumber[pos] = a1;
                    if (i < 2)
                    {
                        nc[pos] = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, a1);
                    }
                    pos            = GenPos();
                    genNumber[pos] = a2;
                    nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, a2);
                    break;

                case 2:
                    int s1;
                    if (i < 2)
                    {
                        s1 = rand.Next(1, 50);
                    }
                    else
                    {
                        s1 = answer;
                    }
                    int s2 = rand.Next(1, 50 * i - s1);
                    answer = s1;
                    int sAns = s1 + s2;
                    if (i < 2)
                    {
                        pos            = GenPos();
                        genNumber[pos] = sAns;
                        nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, sAns);
                    }
                    genNumber[pos] = s2;
                    nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, s2);

                    break;

                case 3:
                    int m1;
                    if (i < 2)
                    {
                        m1 = rand.Next(1, 25);
                    }
                    else
                    {
                        m1 = answer;
                    }
                    int m2 = rand.Next(1, 50 * i / m1);
                    answer = m1 * m2;
                    if (i < 2)
                    {
                        genNumber[pos] = m1;
                        nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, m1);
                    }
                    pos            = GenPos();
                    genNumber[pos] = m2;
                    nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, m2);
                    break;

                case 4:
                    int d1;
                    if (i < 2)
                    {
                        d1 = rand.Next(1, 25);
                    }
                    else
                    {
                        d1 = answer;
                    }
                    int d2 = rand.Next(1, 50 * i / d1);
                    answer = d2;
                    if (i < 2)
                    {
                        genNumber[pos] = d1;
                        nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, d1);
                    }
                    pos            = GenPos();
                    genNumber[pos] = d2 * d1;
                    nc[pos]        = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * pos, 0, d2 * d1);
                    break;
                }
                int freeElement = 0;
                foreach (int element in genNumber)
                {
                    if (element == -1)
                    {
                        nc[freeElement] = new NumberCard((Screen.PrimaryScreen.Bounds.Width / 100 * 8) * freeElement, 0, rand.Next(0, 100));
                    }
                    freeElement++;
                }
            }
        }