예제 #1
0
    void AI()
    {
        if ((kieno_eile == 2) && (kas_laimejo[kieno_eile - 1] == false))
        {
            bool padejo = false;
            if (zaidzia_uzverstom[kieno_eile - 1] == true)
            {
                antras.paimti_uzversta(0);

                if (ant_stalo.Zaidziamos.Count == 0)
                {
                    antras.Deti_viena_korta(antras.Ranka[0], ant_stalo, Kalade);
                    padejo = true;
                    Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                }
                else if ((antras.Ranka[0].verte >= ant_stalo.Zaidziamos.Last().verte) || (antras.Ranka[0].verte == 10) || (antras.Ranka[0].verte == 2))
                {
                    antras.Deti_viena_korta(antras.Ranka[0], ant_stalo, Kalade);
                    padejo = true;
                    Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                }
            }
            else
            {
                for (int i = 0; i < antras.Ranka.Count; i++)
                {
                    if (ant_stalo.Zaidziamos.Count == 0)
                    {
                        antras.Deti_viena_korta(antras.Ranka[i], ant_stalo, Kalade);
                        padejo = true;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                        break;
                    }
                    else if ((antras.Ranka[i].verte >= ant_stalo.Zaidziamos.Last().verte) || (antras.Ranka[i].verte == 10) || (antras.Ranka[i].verte == 2))
                    {
                        antras.Deti_viena_korta(antras.Ranka[i], ant_stalo, Kalade);
                        padejo = true;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                        break;
                    }
                }
            }
            if ((ant_stalo.Zaidziamos.Count > 3) && (padejo == false))
            {
                antras.Imti_3(ant_stalo);
            }
            else if (padejo == false)
            {
                antras.imti_viska(ant_stalo);
            }
            antras.paimti_atverstas(Kalade);
            if ((antras.atverstos == null) && (antras.Ranka.Count == 0))
            {
                zaidzia_uzverstom[kieno_eile - 1] = true;
            }
            kas_laimejo_pralaimejo(2);
            refresh(2);
            kieno_eile = 3;
        }
        else if (kas_laimejo[1] == true)
        {
            kieno_eile = 3;
        }


        if ((kieno_eile == 3) && (kas_laimejo[kieno_eile - 1] == false))
        {
            bool padejo = false;
            if (zaidzia_uzverstom[kieno_eile - 1] == true)
            {
                trecias.paimti_uzversta(0);
                if (ant_stalo.Zaidziamos.Count == 0)
                {
                    trecias.Deti_viena_korta(trecias.Ranka[0], ant_stalo, Kalade);
                    padejo = true;
                    Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                }

                else if ((trecias.Ranka[0].verte >= ant_stalo.Zaidziamos.Last().verte) || (trecias.Ranka[0].verte == 10) || (trecias.Ranka[0].verte == 2))
                {
                    trecias.Deti_viena_korta(trecias.Ranka[0], ant_stalo, Kalade);
                    padejo = true;
                    Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                }
            }
            else
            {
                for (int i = 0; i < trecias.Ranka.Count; i++)
                {
                    if (ant_stalo.Zaidziamos.Count == 0)
                    {
                        trecias.Deti_viena_korta(trecias.Ranka[i], ant_stalo, Kalade);
                        padejo = true;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                        break;
                    }
                    else if ((trecias.Ranka[i].verte >= ant_stalo.Zaidziamos.Last().verte) || (trecias.Ranka[i].verte == 10) || (trecias.Ranka[i].verte == 2))
                    {
                        trecias.Deti_viena_korta(trecias.Ranka[i], ant_stalo, Kalade);
                        padejo = true;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                        break;
                    }
                }
            }
            if ((ant_stalo.Zaidziamos.Count > 3) && (padejo == false))
            {
                trecias.Imti_3(ant_stalo);
            }
            else if (padejo == false)
            {
                trecias.imti_viska(ant_stalo);
            }
            trecias.paimti_atverstas(Kalade);
            if ((trecias.atverstos == null) && (trecias.Ranka.Count == 0))
            {
                zaidzia_uzverstom[kieno_eile - 1] = true;
            }
            kas_laimejo_pralaimejo(3);
            refresh(3);
            kieno_eile = 4;
        }
        else if (kas_laimejo[2] == true)
        {
            kieno_eile = 4;
        }


        if ((kieno_eile == 4) && (kas_laimejo[kieno_eile - 1] == false))
        {
            bool padejo = false;
            if (zaidzia_uzverstom[kieno_eile - 1] == true)
            {
                ketvirtas.paimti_uzversta(0);
                if (ant_stalo.Zaidziamos.Count == 0)
                {
                    ketvirtas.Deti_viena_korta(ketvirtas.Ranka[0], ant_stalo, Kalade);
                    padejo = true;
                    Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                }
                else if ((ketvirtas.Ranka[0].verte >= ant_stalo.Zaidziamos.Last().verte) || (ketvirtas.Ranka[0].verte == 10) || (ketvirtas.Ranka[0].verte == 2))
                {
                    ketvirtas.Deti_viena_korta(ketvirtas.Ranka[0], ant_stalo, Kalade);
                    padejo = true;
                    Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                }
            }
            else
            {
                for (int i = 0; i < ketvirtas.Ranka.Count; i++)
                {
                    if (ant_stalo.Zaidziamos.Count == 0)
                    {
                        ketvirtas.Deti_viena_korta(ketvirtas.Ranka[i], ant_stalo, Kalade);
                        padejo = true;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                        break;
                    }
                    else if ((ketvirtas.Ranka[i].verte >= ant_stalo.Zaidziamos.Last().verte) || (ketvirtas.Ranka[i].verte == 10) || (ketvirtas.Ranka[i].verte == 2))
                    {
                        ketvirtas.Deti_viena_korta(ketvirtas.Ranka[i], ant_stalo, Kalade);
                        padejo = true;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                        break;
                    }
                }
            }
            if ((ant_stalo.Zaidziamos.Count > 3) && (padejo == false))
            {
                ketvirtas.Imti_3(ant_stalo);
            }
            else if (padejo == false)
            {
                ketvirtas.imti_viska(ant_stalo);
            }
            ketvirtas.paimti_atverstas(Kalade);
            if ((ketvirtas.atverstos == null) && (ketvirtas.Ranka.Count == 0))
            {
                zaidzia_uzverstom[kieno_eile - 1] = true;
            }
            kas_laimejo_pralaimejo(4);
            refresh(4);
            kieno_eile = 1;
        }
        else if (kas_laimejo[3] == true)
        {
            kieno_eile = 1;
        }
        if (kas_laimejo[0] == true)
        {
            kieno_eile = 2; AI();
        }
    }
예제 #2
0
    protected void KeyPress(object sender, KeyPressEventArgs args)
    {
        if ((kieno_eile == 1) && (kas_laimejo[kieno_eile - 1] == false))
        {
            if (args.Event.Key == Gdk.Key.Right)
            {
                if ((kuri < pirmas.Ranka.Count - 1) || (zaidzia_uzverstom[kieno_eile - 1] == true))
                {
                    sulygina(1);
                    kuri++;
                    if (zaidzia_uzverstom[kieno_eile - 1] == true)
                    {
                        if (kuri == 0)
                        {
                            ((Gtk.Fixed.FixedChild)(fixed1[pirmouzv1])).Y -= 20;
                        }
                        else if (kuri == 1)
                        {
                            ((Gtk.Fixed.FixedChild)(fixed1[pirmouzv2])).Y -= 20;
                        }
                        else
                        {
                            ((Gtk.Fixed.FixedChild)(fixed1[pirmouzv3])).Y -= 20;
                        }
                    }
                    else
                    {
                        ((Gtk.Fixed.FixedChild)(fixed1[pir[kuri]])).Y -= 20;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                    }
                    einama = kuri;
                }
            }
            else if (args.Event.Key == Gdk.Key.Left)
            {
                if ((kuri > 0) || (zaidzia_uzverstom[kieno_eile - 1] == true))
                {
                    sulygina(1);
                    kuri--;
                    if (zaidzia_uzverstom[kieno_eile - 1] == true)
                    {
                        if (kuri == 0)
                        {
                            ((Gtk.Fixed.FixedChild)(fixed1[pirmouzv1])).Y -= 20;
                        }
                        else if (kuri == 1)
                        {
                            ((Gtk.Fixed.FixedChild)(fixed1[pirmouzv2])).Y -= 20;
                        }
                        else
                        {
                            ((Gtk.Fixed.FixedChild)(fixed1[pirmouzv3])).Y -= 20;
                        }
                    }
                    else
                    {
                        ((Gtk.Fixed.FixedChild)(fixed1[pir[kuri]])).Y -= 20;
                        Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                    }
                    einama = kuri;
                }
            }
            else if (args.Event.Key == Gdk.Key.Down)
            {
                if (zaidzia_uzverstom[kieno_eile - 1] == true)
                {
                    pirmas.paimti_uzversta(einama);                     //viduje tikrina ar turi rankoje kortu, jei taip, nieko nedaro
                    zaidzia_uzverstom[kieno_eile - 1] = false;
                }
                refresh(kieno_eile);
            }
            else if (args.Event.Key == Gdk.Key.Up)
            {
                pries = ant_stalo.Zaidziamos.Count;
                if (!((pirmas.Ranka.Count - 1) < einama))
                {
                    temp = pirmas.Ranka[einama];
                }
                if (!((pirmas.Ranka.Count - 1) < einama) && pirmas.Deti_viena_korta(pirmas.Ranka[einama], ant_stalo, Kalade))
                {
                    Garsas.PlaySound(new FileStream("korta.wav", FileMode.Open, FileAccess.Read, FileShare.Read), SoundFlags.SND_ASYNC);
                }

                po = ant_stalo.Zaidziamos.Count;

                pirmas.paimti_atverstas(Kalade);                 //viduje tikrina ar turi rankoje kortu, jei taip, nieko nedaro

                if ((pirmas.atverstos == null) && (pirmas.Ranka.Count == 0))
                {
                    zaidzia_uzverstom[kieno_eile - 1] = true;
                }
                kas_laimejo_pralaimejo(1);
                refresh(kieno_eile);
                if ((kas_laimejo[0] == false) && (temp.verte == 10))
                {
                    ;
                }
                else if (pries != po)
                {
                    kuri = 1; kieno_eile++; AI();
                }
            }
        }
    }