Ver Mensaje Individual
  #9  
Antiguo 26-10-2008
luisfco luisfco is offline
Registrado
 
Registrado: oct 2008
Posts: 4
Reputación: 0
luisfco Va por buen camino
Tengo ya casi todo los movimientos yo hice esto para verlo mejor

Código:
 
int i,j,x;
        for (i=1;i<9;i=i+1)  //peones
        {
                StringGrid1->Cells[i-1][6]=1;
                StringGrid1->Cells[i-1][1]=-1;
        }
        //torres
        StringGrid1->Cells[0][0]=-5;
        StringGrid1->Cells[7][0]=-5;
        StringGrid1->Cells[0][7]=5;
        StringGrid1->Cells[7][7]=5;
        //caballos
        StringGrid1->Cells[1][7]=3;
        StringGrid1->Cells[6][7]=3;
        StringGrid1->Cells[1][0]=-3;
        StringGrid1->Cells[6][0]=-3;
        //alfiles
        StringGrid1->Cells[2][0]=-4;
        StringGrid1->Cells[5][0]=-4;
        StringGrid1->Cells[2][7]=4;
        StringGrid1->Cells[5][7]=4;
        //Rey
        StringGrid1->Cells[3][7]=10;
        StringGrid1->Cells[3][0]=-10;
        //Reyna
        StringGrid1->Cells[4][7]=8;
        StringGrid1->Cells[4][0]=-8;
 
        for (i=1;i<9;i=i+1) //celdas vacias
        {
                for (j=1;j<9;j=j+1)
                {
                if(StringGrid1->Cells[i-1][j-1].IsEmpty()==true)
                        {
                        StringGrid1->Cells[i-1][j-1]=0;
                        }
 
                 }
        }
Un ejemplo sobre el movimiento del caballo
Código:
//[col_ini][ren_ini] posicion inicial de caballo y [col_fin][ren_fin] donde se desea mover
if (StringGrid1->Cells[col_ini-1][ren_ini-1]==3)
{
  if ((((col_ini-col_fin==2)&((ren_ini-ren_fin==1)|(ren_ini-ren_fin==-1)))|((col_ini-col_fin==-2)&((ren_ini-ren_fin==1)|(ren_ini-ren_fin==-1)))|((col_ini-col_fin==1)&((ren_ini-ren_fin==2)|(ren_ini-ren_fin==-2)))|((col_ini-col_fin==-1)&((ren_ini-ren_fin==2)|(ren_ini-ren_fin==-2))))&(StringGrid1->Cells[col_fin-1][ren_fin-1]<=0))
   {
       StringGrid1->Cells[col_ini-1][ren_ini-1]=0;
       StringGrid1->Cells[col_fin-1][ren_fin-1]=3;
   }
   else
   {
                        ShowMessage("Movimiento Falso");
   }
}
Por esto ahora me preocupa como enlazar este movimiento a una imagen, es decir que me busque entre todos los caballo a quien deseo mover(quien esta en cordenada(x*col_ini,y*ren_ini), donde x,y seria el tamaño de la imagen si la esquina superior del tablero estaria en (0,0) de la ventana) espero y se entienda, bueno es la forma en que pienso ahora, no se si haria otra...

Última edición por luisfco fecha: 26-10-2008 a las 16:16:19.
Responder Con Cita