Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2008
Xeleron Xeleron is offline
Registrado
 
Registrado: mar 2008
Posts: 1
Poder: 0
Xeleron Va por buen camino
Vaciar matriz en un drawgrid

bueno tengo problemas para entender como pasar los valores de una matriz en un drawgrid, es decir, en el programa cuando hago click sobre el drawgrid, me debe leer la matriz espejo para luego devolverlo al drawgrid, el problema es ese no se como hacerlo, lo que llevo es esto:

void __fastcall TForm1:rawGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect)
{
float O[10][10];
float m,n;

O[4][4]=1;
O[5][4]=2;
O[5][4]=2;
O[5][5]=1;
m=ARow;
n=ACol;
jugada(m,n,O);
//DrawGrid1->......=O[ ][ ]; (no se como se vaciaria la matriz en el drawgrid)

//cambio de jugador
}
//---------------------------------------------------------------------------

void jugada(unsigned char F, unsigned char C, unsigned char O[][10])
{
char k,i,j,l,q,r,s,t,u,v,w,z,b,c,d,e;
if (O[F][C]==1||O[F][C]==2)
show message 'no es posible la jugada';
if (O[F][C]==0)
{for (k=C+1;O[F][k]==0||O[F][k]==P||k<=C;k++) //chequeo y volteo hacia la derecha
if(O[F][k]==P)
for(u=C+1;u<=K;u++)
{O[F][u]=P;
}
k=C;

for (i=F-1;O[i][C]==0||O[i][C]==P||i>=0;i--) //chequeo y volteo hacia arriba
if(O[i][C]==P)
for(w=F-1;w>=i;w--)
{O[w][C]=P;
}
i=0;
for (j=F+1;O[j][C]==0||O[j][C]==P||j<=F;j++) //chequeo y volteo hacia abajo
if(O[j][C]==P)
for(z=F+1;z>=i;z++)
{O[z][C]=P;
}
j=F;
for (l=C-1;O[F][l]==0||O[F][l]==P||l>=0;l--) //chequeo y volteo hacia la izquierda
if(O[F][l]==P)
for(v=C-1;v>=l;v--)
{O[F][v]=P;
}
l=0;
for (q=C+1;O[F-(q-F)][q]==0||O[F-q][q]==P||q<=C;q++) //chequeo y volteo hacia arriba y a la derecha
if(O[F-(q-F)][q]==P)
for(b=C+1;b<=q;b++)
{O[F-(b-F)][b]=P;
}
q=C;
for (r=C+1;O[r][r]==0||O[r][r]==P||r<=C;r++) //chequeo y volteo hacia abajo y a la derecha
if(O[r][r]==P)
for(c=C+1;c<=r;c++)
{O[c][c]=P;
}
r=C;
for (s=C-1;O[s][C-(C-s)]==0||O[s][C-(C-s)]==P||s>=0;s++) //chequeo y volteo hacia abajo y a la izquierda
if(O[s][C-(C-s)]==P)
for(d=C-1;d<=s;d--)
{O[d][b]=P;
}
s=0;
for (t=C-1;O[t][t]==0||O[t][t]==P||t>=0;t--) //chequeo y volteo hacia arriba y a la izquierda
if(O[t][t]==P)
for(e=C-1;e>=t;t--)
{O[e][e]=P;
}
t=0;
}

if(O[F][k]==0&&O[i][C]==0&&O[j][C]==0&&O[F][l]==0&&O[F-(q-F)][q]==0&&O[r][r]==0&&
O[s][C-(C-s)]==0 O[t][t]==0)
show message 'no es posible la jugada';
}


Mi problema esta en los puntos suspensivos del principio, ahi se deberia vaciar la matriz para llevarla al drawgrid pero no se como si alguien sabe como se hace y me puede responder estaria muy agradecido, ojala sepan y me puedan responder, gracias de antemano

PD: el programa es el juego de othello para ver si lo ven mas facil, no logro hacer que me verifique las cosas ya que no se como llamar a la matriz espejo y devolver ese valor al drawgrid
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Varias celdas seleccionadas en un DrawGrid eljose OOP 0 24-09-2007 19:33:47
Uso de drawgrid drykea Varios 2 16-08-2007 15:58:30
Graficos en un DrawGrid MAXIUM Gráficos 2 14-11-2005 01:29:41
Centrar el texto de una columna en el componente DrawGrid Aprendiendo OOP 0 30-09-2004 00:55:00
vaciar Markoz Firebird e Interbase 1 25-06-2003 19:59:02


La franja horaria es GMT +2. Ahora son las 14:49:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi