示例#1
0
        //MANEJO DE FICHAS
        public void crearFichas()
        {
            fichas = new Ficha[28];
            int j = 0;

            for (int i = 0; i <= 6; i++)
            {
                for (int k = i; k <= 6; k++)
                {
                    fichas[j] = new Ficha(i, k, j);
                    j++;
                }
            }
        }
示例#2
0
        private void renovarLista(Jugador j, Ficha f)
        {
            LSL        aux = new LSL();
            nodoSimple x   = j.getFichas().primerNodo();

            while (!j.getFichas().finDeRecorrido(x))
            {
                if (x.retornaDato() != f)
                {
                    aux.insertar(x.retornaDato(), aux.ultimoNodo());
                }
                x = x.retornaLiga();
            }
            j.setFichas(aux);
        }
示例#3
0
        private int compararFichas(Ficha fit) //1 para izq, 2 para derecha
        {
            nodoDoble nfi = listaTablero.getPrimero();
            nodoDoble nfd = listaTablero.getUltimo();

            int fi = (int)nfi.retornaDato();
            int fd = (int)nfd.retornaDato();

            if (fit.getN1() == fi)
            {
                listaTablero.insertar(fit.getN2(), null);
                Console.WriteLine(fit.getN2());
                return(1);
            }

            if (fit.getN1() == fd)
            {
                listaTablero.insertar(fit.getN2(), nfd);
                Console.WriteLine(fit.getN2());
                return(2);
            }
            if (fit.getN2() == fi)
            {
                listaTablero.insertar(fit.getN1(), null);
                Console.WriteLine(fit.getN1());
                return(3);
            }

            if (fit.getN2() == fd)
            {
                Console.WriteLine(fit.getN1());
                listaTablero.insertar(fit.getN1(), nfd);
                return(4);
            }
            return(0);
        }
示例#4
0
        private void comenzarJuego()
        {
            if (jj1.getTurno() == 1)
            {
                nodoSimple f1  = jj1.getFichas().primerNodo();
                Ficha      fj1 = (Ficha)f1.retornaDato();
                nodoSimple f2  = f1.retornaLiga();
                Ficha      fj2 = (Ficha)f2.retornaDato();
                nodoSimple f3  = f2.retornaLiga();
                Ficha      fj3 = (Ficha)f3.retornaDato();
                nodoSimple f4  = f3.retornaLiga();
                Ficha      fj4 = (Ficha)f4.retornaDato();
                nodoSimple f5  = f4.retornaLiga();
                Ficha      fj5 = (Ficha)f5.retornaDato();
                nodoSimple f6  = f5.retornaLiga();
                Ficha      fj6 = (Ficha)f6.retornaDato();
                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj1.getId() + ".png");
                ficha1.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj2.getId() + ".png");
                ficha2.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj3.getId() + ".png");
                ficha3.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj4.getId() + ".png");
                ficha4.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj5.getId() + ".png");
                ficha5.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj6.getId() + ".png");
                ficha6.Image = new Bitmap(stream);
            }
            else
            {
                nodoSimple f1  = jj1.getFichas().primerNodo();
                Ficha      fj1 = (Ficha)f1.retornaDato();
                nodoSimple f2  = f1.retornaLiga();
                Ficha      fj2 = (Ficha)f2.retornaDato();
                nodoSimple f3  = f2.retornaLiga();
                Ficha      fj3 = (Ficha)f3.retornaDato();
                nodoSimple f4  = f3.retornaLiga();
                Ficha      fj4 = (Ficha)f4.retornaDato();
                nodoSimple f5  = f4.retornaLiga();
                Ficha      fj5 = (Ficha)f5.retornaDato();
                nodoSimple f6  = f5.retornaLiga();
                Ficha      fj6 = (Ficha)f6.retornaDato();
                nodoSimple f7  = f6.retornaLiga();
                Ficha      fj7 = (Ficha)f7.retornaDato();

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj1.getId() + ".png");
                ficha1.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj2.getId() + ".png");
                ficha2.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj3.getId() + ".png");
                ficha3.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj4.getId() + ".png");
                ficha4.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj5.getId() + ".png");
                ficha5.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj6.getId() + ".png");
                ficha6.Image = new Bitmap(stream);

                stream         = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj7.getId() + ".png");
                ficha7.Enabled = true;
                ficha7.Image   = new Bitmap(stream);
            }
        }
示例#5
0
        private void ficha7_Click(object sender, EventArgs e)
        {
            Ficha f = (Ficha)jj1.getFichas().primerNodo().retornaLiga().retornaLiga().retornaLiga().retornaLiga().retornaLiga().retornaLiga().retornaDato();

            colocarFichaJugador(this.ficha7, f);
        }
示例#6
0
        //Click events---------------------------------------------------------------------------


        private void ficha1_MouseClick(object sender, MouseEventArgs e)
        {
            Ficha f = (Ficha)jj1.getFichas().primerNodo().retornaDato();

            colocarFichaJugador(this.ficha1, f);
        }
示例#7
0
        private void colocarFichaJugador(PictureBox ficha, Ficha f)
        {
            int x = compararFichas(f);

            if (x == 1 || x == 3)  // FICHA AL LADO IZQUIERDO DEL TABLERO
            {
                cajonIzqActual = (PictureBox)cajonIzq[cajonIzqSum];
                cajonIzqSum++;

                Image img = ficha.Image;
                if (x == 1)
                {
                    img.RotateFlip(RotateFlipType.RotateNoneFlipY);
                }
                if (f.getN1() == f.getN2())
                {
                    img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                }
                if (cajonIzqSum > 6)
                {
                    img.RotateFlip(RotateFlipType.Rotate90FlipX);
                }
                if (cajonIzqSum > 15)
                {
                    img.RotateFlip(RotateFlipType.Rotate270FlipNone);
                }
                if (cajonIzqSum > 17)
                {
                    img.RotateFlip(RotateFlipType.Rotate90FlipX);
                }
                cajonIzqActual.Image = img;
                cajonIzqActual.Show();
                ficha.Dispose();
                jj1.setCantFichas(jj1.getCantFichas() - 1);
                puntosJ1 -= f.getN1() + f.getN2();
                playSound();
                checarPasar(false);
                if (!comprobarGanador(jj1))
                {
                    turnoBots();
                }
                else
                {
                    panel2.Enabled  = false;
                    button1.Enabled = false;
                }
            }
            else if (x == 2 || x == 4) // FICHA AL LADO DERECHO DEL TABLERO
            {
                cajonDerActual = (PictureBox)cajonDer[cajonDerSum];
                cajonDerSum++;

                Image img = ficha.Image;
                img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                if (x == 4)
                {
                    img.RotateFlip(RotateFlipType.RotateNoneFlipX);
                }
                if (f.getN1() == f.getN2())
                {
                    img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                }
                if (cajonDerSum > 9)
                {
                    img.RotateFlip(RotateFlipType.Rotate270FlipY);
                }
                if (cajonDerSum > 11)
                {
                    img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                }
                if (cajonDerSum > 14)
                {
                    img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                }

                cajonDerActual.Image = img;
                cajonDerActual.Show();
                ficha.Dispose();
                jj1.setCantFichas(jj1.getCantFichas() - 1);
                puntosJ1 -= f.getN1() + f.getN2();
                playSound();
                checarPasar(false);
                if (!comprobarGanador(jj1))
                {
                    turnoBots();
                }
                else
                {
                    panel2.Enabled  = false;
                    button1.Enabled = false;
                }
            }

            fichasj1.Text = "Fichas: " + jj1.getCantFichas().ToString();
        }
示例#8
0
 public void setVectorFichas(int i, Ficha numFicha)
 {
     this.vectorFichas[i] = numFicha;
 }