コード例 #1
0
ファイル: Jugada.cs プロジェクト: javierjj96/chinessecheckers
        public void Jugar(Tablero Tablero, int color, Ficha[] Ficha)
        {
            int x = 60;

            Ficha[] llena    = new Ficha[x];
            int     contador = 0;

            while (contador < x)
            {
                llena[contador] = new Ficha(Tablero.Ficha[contador]);
                Transformar(llena[contador], color, 21);
                contador++;
            }
            Tablero nuevotab = new Tablero(llena);

            faker = new Bot(color, nuevotab, players);
            aux   = new Bot(faker);
            Buscar(nuevotab, color, 0.5, 6.0, 1.0);
            noPlayers = faker.NJ;
            int con = 0;

            while (con < noPlayers)
            {
                movida[con] = new Ficha(faker.Jugada[con]);
                Transformar(movida[con], color, 5);
                con++;
            }
        }
コード例 #2
0
ファイル: Jugada.cs プロジェクト: javierjj96/chinessecheckers
 public void buscarporcolor(int color, int nueva, int c, int pa, int pb, Ficha Ficha)
 {
     if (color == 0)
     {
         nueva = Ficha.Posicion;
     }
     if (color == 1)
     {
         nueva = cruce(-c, -pa);
     }
     if (color == 2)
     {
         nueva = cruce(pb, c);
     }
     if (color == 3)
     {
         nueva = cruce(-pa, -pb);
     }
     if (color == 4)
     {
         nueva = cruce(c, pa);
     }
     if (color == 5)
     {
         nueva = cruce(-pb, -c);
     }
     Ficha.Posicion = nueva;
 }
コード例 #3
0
 public void ActualizarTablero2()
 {
     for (int x = 0; x < 60; x++)
     {
         if (ficha[x].Color == listajugadores[0].kolor)
         {
             for (int i = 0; i < 10; i++)
             {
                 ficha[x] = new Ficha(listajugadores[0].kolor, listajugadores[0].pos[i]);
                 x++;
             }
         }
     }
     listajugadores[0].pos.Clear();
     for (int z = 1; z < 6; z++)
     {
         if ((listajugadores[z].kolor != 0))
         {
             for (int x = 0; x < 60; x++)
             {
                 if (ficha[x].Color == listajugadores[z].kolor)
                 {
                     for (int i = 0; i < 10; i++)
                     {
                         ficha[x] = new Ficha(listajugadores[z].kolor, listajugadores[z].pos[i]);
                         x++;
                     }
                 }
             }
             listajugadores[z].pos.Clear();
         }
     }
 }
コード例 #4
0
 public void Agregar(Ficha ficha)
 {
     _jugada[NJ] = new Ficha(ficha);
     if (_nj > 0)
     {
         CalculoOp(_nj);
     }
     _nj++;
 }
コード例 #5
0
ファイル: Jugada.cs プロジェクト: javierjj96/chinessecheckers
        public void Transformar(Ficha Ficha, int color, int max)
        {
            int x     = Ficha.Posicion;
            int pa    = puntoA[x];
            int pb    = puntoB[x];
            int d     = pb + 5;
            int nueva = 0;
            int c     = -(pa + pb);

            buscarporcolor(color, nueva, c, pa, pb, Ficha);
        }
コード例 #6
0
ファイル: Jugada.cs プロジェクト: javierjj96/chinessecheckers
        public void Saltar(Ficha Ficha, Tablero Tablero, Bot exploador)
        {
            int   x          = Ficha.Posicion;
            int   posA       = puntoA[x];
            int   posB       = puntoB[x];
            int   A          = 0;
            int   B          = 0;
            Ficha auxiliar   = new Ficha();
            Bot   explorador = new Bot(exploador);

            realizarsalto(explorador, exploador, auxiliar, A, B, posA, posB, Tablero, Ficha);
        }
コード例 #7
0
 public string Jugar(Tablero T, int color, string pruebaDvalidacion)
 {
     _mejor = new Bot(color, Rotar(T, color), _jugadores);
     Encontrar(Rotar(T, color), color);
     Nj = _mejor.NJ;
     for (int i = 0; i < Nj; i++)
     {
         _jugada[i] = new Ficha(_mejor.Jugada[i]);
         invertir(_jugada[i], color);
     }
     return(this.toString2());
 }
コード例 #8
0
 public void Jugar(Tablero T, int color)
 {
     _mejor = new Bot(color, Rotar(T, color), _jugadores);
     aux    = new Bot(_mejor);
     Encontrar(Rotar(T, color), color);
     Nj = _mejor.NJ;
     for (int i = 0; i < Nj; i++)
     {
         _jugada[i] = new Ficha(_mejor.Jugada[i]);
         invertir(_jugada[i], color);
     }
 }
コード例 #9
0
 public void agregarJugador(string texto)
 {
     if (tableroanterior != texto)
     {
         turno = true;
         Ficha items  = JsonConvert.DeserializeObject <Ficha>(texto);
         Color ccolor = Color.Black;
         LimpiarTablero();
         foreach (var casilla in listaCasillas)
         {
             foreach (var item in items.tablero)
             {
                 if (int.Parse((item.ficha[1])) == casilla.posi)
                 {
                     if (int.Parse(item.ficha[0]) == 0)
                     {
                         ccolor = Color.Red;
                         ActualizarJugador(0, ccolor, item);
                     }
                     else if (int.Parse(item.ficha[0]) == 1)
                     {
                         ccolor = Color.Purple;
                         ActualizarJugador(1, ccolor, item);
                     }
                     else if (int.Parse(item.ficha[0]) == 2)
                     {
                         ccolor = Color.Blue;
                         ActualizarJugador(2, ccolor, item);
                     }
                     else if (int.Parse(item.ficha[0]) == 3)
                     {
                         ccolor = Color.Green;
                         ActualizarJugador(3, ccolor, item);
                     }
                     else if (int.Parse(item.ficha[0]) == 4)
                     {
                         ccolor = Color.Yellow;
                         ActualizarJugador(4, ccolor, item);
                     }
                     else if (int.Parse(item.ficha[0]) == 5)
                     {
                         ccolor = Color.Orange;
                         ActualizarJugador(5, ccolor, item);
                     }
                     casilla.BackColor = ccolor;
                     this.Controls.Add(casilla);
                 }
             }
         }
         ActualizarTablero2();
     }
     tableroanterior = texto;
 }
コード例 #10
0
ファイル: Jugada.cs プロジェクト: javierjj96/chinessecheckers
        public bool MovimientoPermitido(Ficha Ficha, Tablero Tablero)
        {
            int   x     = Ficha.Posicion;
            bool  puede = false;
            int   posA  = puntoA[x];
            int   posB  = puntoB[x];
            Ficha fichaAux;
            int   A;
            int   b;
            Bot   explorador;

            for (int i = -1; i < 2; i++)
            {
                for (int j = -1; j < 2; j++)
                {
                    explorador = new Bot(aux);
                    if (i != (-j))
                    {
                        A = posA + i;
                        b = posB - j;
                        if (cruce(A, b) != totalespacios)
                        {
                            if (BuscarFicha(A, b, Tablero))
                            {
                                if (BuscarFicha(A + i, b - j, Tablero))
                                {
                                }
                                else
                                {
                                    explorador.Agregar(Ficha);
                                    fichaAux = new Ficha(Ficha.Color, cruce(A + i, b - j));
                                    explorador.Agregar(fichaAux);
                                    faker.NuevoOptimo(explorador);
                                    Saltar(fichaAux, Tablero, explorador);
                                    puede = true;
                                }
                            }
                            else
                            {
                                explorador.Agregar(Ficha);
                                fichaAux = new Ficha(Ficha.Color, cruce(A, b));
                                explorador.Agregar(fichaAux);
                                faker.NuevoOptimo(explorador);
                                puede = true;
                            }
                        }
                    }
                }
            }

            return(puede);
        }
コード例 #11
0
        public bool PuedeMover(Ficha F, Tablero T)
        {
            int   x     = F.Posicion;
            bool  puede = false;
            int   a     = CoorA[x];
            int   b     = CoorB[x];
            Ficha auxiliar;
            int   alt;
            int   blt;
            Bot   scout; //la IA que atravesara todos los caminos imaginables

            for (int i = -1; i < 2; i++)
            {
                for (int j = -1; j < 2; j++)
                {
                    scout = new Bot(aux);
                    if (i != (-j))
                    {
                        alt = a + i;
                        blt = b - j;
                        if (interseccion(alt, blt) != 121)
                        {
                            if (HayFicha(alt, blt, T))
                            {
                                if (HayFicha(alt + i, blt - j, T))
                                {
                                }
                                else
                                {
                                    scout.Agregar(F);
                                    auxiliar = new Ficha(F.Color, interseccion(alt + i, blt - j));
                                    scout.Agregar(auxiliar);
                                    puede = true;
                                    _mejor.NuevoOptimo(scout);
                                    brincar(auxiliar, T, scout);
                                }
                            }
                            else
                            {
                                scout.Agregar(F);
                                auxiliar = new Ficha(F.Color, interseccion(alt, blt));
                                scout.Agregar(auxiliar);
                                puede = true;
                                _mejor.NuevoOptimo(scout);
                            }
                        }
                    }
                }
            }

            return(puede);
        }
コード例 #12
0
        public Tablero Rotar(Tablero T, int color)
        {
            int x = 10 * (int)_jugadores;

            Ficha[] llena = new Ficha[x];
            for (int i = 0; i < x; i++)
            {
                llena[i] = new Ficha(T.Ficha[i]);
                convertir(llena[i], color);
            }
            Tablero rotado = new Tablero(llena);

            return(rotado);
        }
コード例 #13
0
        public void invertir(Ficha F, int color)
        {
            int x     = F.Posicion;
            int a     = CoorA[x];
            int b     = CoorB[x];
            int c     = -(a + b);
            int nueva = 0;

            switch (color)
            {
            case 0:
            {
                nueva = F.Posicion;
            }
            break;

            case 1:
            {
                nueva = interseccion(-b, -c);
            }
            break;

            case 2:
            {
                nueva = interseccion(c, a);
            }
            break;

            case 3:
            {
                nueva = interseccion(-a, -b);
            }
            break;

            case 4:
            {
                nueva = interseccion(b, c);
            }
            break;

            case 5:
            {
                nueva = interseccion(-c, -a);
            }
            break;
            }
            F.Posicion = nueva;
        }
コード例 #14
0
ファイル: Jugada.cs プロジェクト: javierjj96/chinessecheckers
 public void realizarsalto(Bot explorador, Bot exploador, Ficha auxiliar, int A, int B, int posA, int posB, Tablero Tablero, Ficha Ficha)
 {
     for (int i = -1; i < 2; i++)
     {
         for (int j = -1; j < 2; j++)
         {
             explorador = new Bot(exploador);
             if (i != (-j))
             {
                 A = posA + i;
                 B = posB - j;
                 buscarFicha(A, B, Tablero, i, j, explorador, auxiliar, Ficha);
             }
         }
     }
 }
コード例 #15
0
ファイル: Jugada.cs プロジェクト: javierjj96/chinessecheckers
 public void buscarFicha(int A, int B, Tablero Tablero, int i, int j, Bot explorador, Ficha auxiliar, Ficha Ficha)
 {
     if (BuscarFicha(A, B, Tablero))
     {
         if (BuscarFicha(A + i, B - j, Tablero))
         {
         }
         else
         {
             int y = cruce(A + i, B - j);
             if (Recorrido(y, explorador))
             {
                 auxiliar = new Ficha(Ficha.Color, y);
                 explorador.Agregar(auxiliar);
                 faker.NuevoOptimo(explorador);
                 Saltar(auxiliar, Tablero, explorador);
             }
         }
     }
 }
コード例 #16
0
        public void brincar(Ficha F, Tablero T, Bot exploador)
        {
            int   x = F.Posicion;
            int   a = CoorA[x];
            int   b = CoorB[x];
            int   alt;
            int   blt;
            Ficha auxiliar;
            Bot   scout; //la IA que atravesara todos los caminos imaginables

            for (int i = -1; i < 2; i++)
            {
                for (int j = -1; j < 2; j++)
                {
                    scout = new Bot(exploador);
                    if (i != (-j))
                    {
                        alt = a + i;
                        blt = b - j;
                        if (HayFicha(alt, blt, T))
                        {
                            if (HayFicha(alt + i, blt - j, T))
                            {
                            }
                            else
                            {
                                int y = interseccion(alt + i, blt - j);
                                //if (y != scout.Jugada[scout.NJ - 2].Posicion && y != scout.Jugada[0].Posicion && y != scout.Jugada[1].Posicion)
                                if (Recorrido(y, scout))
                                {
                                    auxiliar = new Ficha(F.Color, y);
                                    scout.Agregar(auxiliar);
                                    _mejor.NuevoOptimo(scout);
                                    brincar(auxiliar, T, scout);
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #17
0
 public Bot(Bot nuevo)
 {
     #region Coordenadas
     string   a = "-8,-7,-7,-6,-6,-6,-5,-5,-5,-5,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,6,6,6,7,7,8";
     string[] campA;
     campA = a.Split(',');
     string   b = "4,3,4,2,3,4,1,2,3,4,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,-4,-3,-2,-1,0,1,2,3,4,5,6,7,-4,-3,-2,-1,0,1,2,3,4,5,6,-4,-3,-2,-1,0,1,2,3,4,5,-4,-3,-2,-1,0,1,2,3,4,-5,-4,-3,-2,-1,0,1,2,3,4,-6,-5,-4,-3,-2,-1,0,1,2,3,4,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,-4,-3,-2,-1,-4,-3,-2,-4,-3,-4";
     string[] campB;
     campB = b.Split(',');
     for (int i = 0; i < 121; i++)
     {
         CoorA[i] = int.Parse(campA[i]);
         CoorB[i] = int.Parse(campB[i]);
     }
     #endregion
     _a      = nuevo.A;
     _b      = nuevo.B;
     _nj     = nuevo.NJ;
     _optima = nuevo.Optima;
     for (int i = 0; i < _nj; i++)
     {
         _jugada[i] = new Ficha(nuevo.Jugada[i]);
     }
 }
コード例 #18
0
 public Ficha(Ficha ficha)
 {
     Color    = ficha.Color;
     Posicion = ficha.Posicion;
 }
コード例 #19
0
        public void NuevoOptimo(Bot nuevo)
        {
            //if (nuevo.Jugada[0].Posicion < 90)
            {
                if (_a < nuevo.A)
                {
                    _a      = nuevo.A;
                    _b      = nuevo.B;
                    _nj     = nuevo.NJ;
                    _optima = nuevo.Optima;
                    for (int i = 0; i < _nj; i++)
                    {
                        _jugada[i] = new Ficha(nuevo.Jugada[i]);
                    }
                }
                else
                {
                    if (_a == nuevo.A && nuevo.Jugada[1].Posicion < 35)
                    {
                        if (_b > nuevo.B)
                        {
                            //if (nuevo.Jugada[0].Posicion < 90)
                            {
                                _a      = nuevo.A;
                                _b      = nuevo.B;
                                _nj     = nuevo.NJ;
                                _optima = nuevo.Optima;
                                for (int i = 0; i < _nj; i++)
                                {
                                    _jugada[i] = new Ficha(nuevo.Jugada[i]);
                                }
                            }
                        }
                    }
                }
            }

            /*else
             * {
             *  if (_b > nuevo.B)
             *  {
             *      //if (nuevo.Jugada[0].Posicion < 90)
             *      {
             *          _a = nuevo.A;
             *          _b = nuevo.B;
             *          _nj = nuevo.NJ;
             *          _optima = nuevo.Optima;
             *          for (int i = 0; i < _nj; i++)
             *          {
             *              _jugada[i] = new Ficha(nuevo.Jugada[i]);
             *          }
             *      }
             *  }
             *  else
             *  {
             *      if (_a < nuevo.A)
             *      {
             *          _a = nuevo.A;
             *          _b = nuevo.B;
             *          _nj = nuevo.NJ;
             *          _optima = nuevo.Optima;
             *          for (int i = 0; i < _nj; i++)
             *          {
             *              _jugada[i] = new Ficha(nuevo.Jugada[i]);
             *          }
             *      }
             *  }
             * }*/
        }
コード例 #20
0
 public void tableroinicial()
 {
     ficha[0]  = new Ficha(0, 120);
     ficha[1]  = new Ficha(0, 119);
     ficha[2]  = new Ficha(0, 118);
     ficha[3]  = new Ficha(0, 117);
     ficha[4]  = new Ficha(0, 116);
     ficha[5]  = new Ficha(0, 115);
     ficha[6]  = new Ficha(0, 114);
     ficha[7]  = new Ficha(0, 113);
     ficha[8]  = new Ficha(0, 112);
     ficha[9]  = new Ficha(0, 111);
     ficha[10] = new Ficha(1, 110);
     ficha[11] = new Ficha(1, 97);
     ficha[12] = new Ficha(1, 109);
     ficha[13] = new Ficha(1, 85);
     ficha[14] = new Ficha(1, 96);
     ficha[15] = new Ficha(1, 108);
     ficha[16] = new Ficha(1, 74);
     ficha[17] = new Ficha(1, 84);
     ficha[18] = new Ficha(1, 95);
     ficha[19] = new Ficha(1, 107);
     ficha[20] = new Ficha(2, 22);
     ficha[21] = new Ficha(2, 21);
     ficha[22] = new Ficha(2, 34);
     ficha[23] = new Ficha(2, 20);
     ficha[24] = new Ficha(2, 33);
     ficha[25] = new Ficha(2, 45);
     ficha[26] = new Ficha(2, 19);
     ficha[27] = new Ficha(2, 32);
     ficha[28] = new Ficha(2, 44);
     ficha[29] = new Ficha(2, 55);
     ficha[30] = new Ficha(3, 0);
     ficha[31] = new Ficha(3, 1);
     ficha[32] = new Ficha(3, 2);
     ficha[33] = new Ficha(3, 3);
     ficha[34] = new Ficha(3, 4);
     ficha[35] = new Ficha(3, 5);
     ficha[36] = new Ficha(3, 6);
     ficha[37] = new Ficha(3, 7);
     ficha[38] = new Ficha(3, 8);
     ficha[39] = new Ficha(3, 9);
     ficha[40] = new Ficha(4, 10);
     ficha[41] = new Ficha(4, 23);
     ficha[42] = new Ficha(4, 11);
     ficha[43] = new Ficha(4, 35);
     ficha[44] = new Ficha(4, 24);
     ficha[45] = new Ficha(4, 12);
     ficha[46] = new Ficha(4, 46);
     ficha[47] = new Ficha(4, 36);
     ficha[48] = new Ficha(4, 25);
     ficha[49] = new Ficha(4, 13);
     ficha[50] = new Ficha(5, 98);
     ficha[51] = new Ficha(5, 99);
     ficha[52] = new Ficha(5, 86);
     ficha[53] = new Ficha(5, 100);
     ficha[54] = new Ficha(5, 87);
     ficha[55] = new Ficha(5, 75);
     ficha[56] = new Ficha(5, 101);
     ficha[57] = new Ficha(5, 88);
     ficha[58] = new Ficha(5, 76);
     ficha[59] = new Ficha(5, 65);
     T         = new Tablero(ficha);
 }
コード例 #21
0
        public void tableroinicial3j()
        {
            ficha[0]  = new Ficha(0, 120);
            ficha[1]  = new Ficha(0, 119);
            ficha[2]  = new Ficha(0, 118);
            ficha[3]  = new Ficha(0, 117);
            ficha[4]  = new Ficha(0, 116);
            ficha[5]  = new Ficha(0, 115);
            ficha[6]  = new Ficha(0, 114);
            ficha[7]  = new Ficha(0, 113);
            ficha[8]  = new Ficha(0, 112);
            ficha[9]  = new Ficha(0, 111);
            ficha[10] = new Ficha(1, 60);
            ficha[11] = new Ficha(1, 60);
            ficha[12] = new Ficha(1, 60);
            ficha[13] = new Ficha(1, 60);
            ficha[14] = new Ficha(1, 60);
            ficha[15] = new Ficha(1, 60);
            ficha[16] = new Ficha(1, 60);
            ficha[17] = new Ficha(1, 60);
            ficha[18] = new Ficha(1, 60);
            ficha[19] = new Ficha(1, 60);
            ficha[20] = new Ficha(2, 22);
            ficha[21] = new Ficha(2, 21);
            ficha[22] = new Ficha(2, 34);
            ficha[23] = new Ficha(2, 20);
            ficha[24] = new Ficha(2, 33);
            ficha[25] = new Ficha(2, 45);
            ficha[26] = new Ficha(2, 19);
            ficha[27] = new Ficha(2, 32);
            ficha[28] = new Ficha(2, 44);
            ficha[29] = new Ficha(2, 55);
            ficha[30] = new Ficha(3, 60);
            ficha[31] = new Ficha(3, 60);
            ficha[32] = new Ficha(3, 60);
            ficha[33] = new Ficha(3, 60);
            ficha[34] = new Ficha(3, 60);
            ficha[35] = new Ficha(3, 60);
            ficha[36] = new Ficha(3, 60);
            ficha[37] = new Ficha(3, 60);
            ficha[38] = new Ficha(3, 60);
            ficha[39] = new Ficha(3, 60);
            ficha[40] = new Ficha(4, 10);
            ficha[41] = new Ficha(4, 23);
            ficha[42] = new Ficha(4, 11);
            ficha[43] = new Ficha(4, 35);
            ficha[44] = new Ficha(4, 24);
            ficha[45] = new Ficha(4, 12);
            ficha[46] = new Ficha(4, 46);
            ficha[47] = new Ficha(4, 36);
            ficha[48] = new Ficha(4, 25);
            ficha[49] = new Ficha(4, 13);
            ficha[50] = new Ficha(5, 60);
            ficha[51] = new Ficha(5, 60);
            ficha[52] = new Ficha(5, 60);
            ficha[53] = new Ficha(5, 60);
            ficha[54] = new Ficha(5, 60);
            ficha[55] = new Ficha(5, 60);
            ficha[56] = new Ficha(5, 60);
            ficha[57] = new Ficha(5, 60);
            ficha[58] = new Ficha(5, 60);
            ficha[59] = new Ficha(5, 60);
            T         = new Tablero(ficha);

            T = new Tablero(ficha);
        }
コード例 #22
0
 public void ActualizarTablero()
 {
     for (int x = 0; x < 60; x++)
     {
         if (ficha[x].Color == jugador1.kolor)
         {
             for (int i = 0; i < 10; i++)
             {
                 ficha[x] = new Ficha(jugador1.kolor, jugador1.pos[i]);
                 x++;
             }
         }
     }
     jugador1.pos.Clear();
     if ((jugador2.kolor != 0))
     {
         for (int x = 0; x < 60; x++)
         {
             if (ficha[x].Color == jugador2.kolor)
             {
                 for (int i = 0; i < 10; i++)
                 {
                     ficha[x] = new Ficha(jugador2.kolor, jugador2.pos[i]);
                     x++;
                 }
             }
         }
         jugador2.pos.Clear();
     }
     if ((jugador3.kolor != 0))
     {
         for (int x = 0; x < 60; x++)
         {
             if (ficha[x].Color == jugador3.kolor)
             {
                 for (int i = 0; i < 10; i++)
                 {
                     ficha[x] = new Ficha(jugador3.kolor, jugador3.pos[i]);
                     x++;
                 }
             }
         }
         jugador3.pos.Clear();
     }
     if ((jugador4.kolor != 0))
     {
         for (int x = 0; x < 60; x++)
         {
             if (ficha[x].Color == jugador4.kolor)
             {
                 for (int i = 0; i < 10; i++)
                 {
                     ficha[x] = new Ficha(jugador4.kolor, jugador4.pos[i]);
                     x++;
                 }
             }
         }
         jugador4.pos.Clear();
     }
     if ((jugador5.kolor != 0))
     {
         for (int x = 0; x < 60; x++)
         {
             if (ficha[x].Color == jugador5.kolor)
             {
                 for (int i = 0; i < 10; i++)
                 {
                     ficha[x] = new Ficha(jugador5.kolor, jugador5.pos[i]);
                     x++;
                 }
             }
         }
         jugador5.pos.Clear();
     }
 }