Gracias por las correcciones y por tu tiempo para responder,pero al final note que al sumarlo lo recorría y lo volvía a encontrar así hasta que lo sacaba de la matriz, me sirvio mucho tus consejos.
Para cualquier interesado aquí esta el juego de cool balls.
Código C++:
Ver original#include <stdio.h>
int main(void)
{
char A[8][8],letra,direccion,CO;
int C=1,X,Y,X2,Y2,X3,Y3,T=0,problema=1,perdiste=0;
/*Logo*/
printf(" .. ..::::i,. . . .. \n ... ..... \n. . .:ir77v77rv7v7LvLL7:. . . \n. . ::ir7rriri;i;i;irrYYvi: . \n. . . .r:r7riiiiiiiiiiiiiiir727i . \n 7:7i::::::i:iii:i:::i:;rjr: . \n i,7:::77Lv7;i,:,,,rYL777Y7YL: \n ,ii:rSZ0BBYi8SFYj1M8:,iri:r75i. \n ::ijBMqB5 vM1B0JLYY2Jr:ii7UY. \n i,LS;JN: i iG1F: ::::ii777rLL. \n i:Y2 vi i:kquXFrLi;L:iirr7YY. \n ,:ikP5O8MZqZEP2O7:rJFULL7:;vki \n ::7U8EZNGZGkJFGXXX7,:iri7752. \n :;ri7vjJYr:.::::::i:iir7UX: \n :rJi:::,::i:::i:ii;r7YSU, \n .:YJL;;iriii;ir;77u1kr \n .iv2UuLLvYLJY25XUr \n :rYYUYuuYri. \n .::77r:. .Lu ..... .:U5:,7E7 \n rvFMBBBBM, 7BBj ,NNPNN0G: :uXBPijBB \n:.LGBXYLuXN .i7YYr. :rY7i iZBL 7XGBEYLMB .ir7r:r,;ruB0:7BB..:rr7i \nL.ZO1. iYZBOMBO:.,vOBMBBG:::EML ;k12ii7BG i1MBMX2BB:;LB1:rBMiiNBONB7\nY.MO7. :rMM7::YMG77GM7,:YMZ7iXBv rSJ1ESUUYrrYOB7irJEBiiYB5,7BB.J00rLP \nL.8OU:... r7Mq.,i:EMirM0..::ZZY;PMY rFqBr2iLFB.1MM ::JqBirYB5:rBO.:u1kLU,\n. LOBk25S0Z77ZBUY7XBNirZB2Y7PBkr78Bu LPFu:7rjBB:JqUrvLUGBr7jBN:YBB.7vYirBB\n :7FMBBBBq,,ikBBBB5 :kBBBBj :BBi ,MBBBBBBM .SBBBBPBB 7BB7:ZBq:0BBBBB.\nCargando...");
/*efecto de tiempo
do
{
T=T+1;
}while(T<=1990000000);*/
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nInstrucciones:\n\nEl objetivo es comerse todas las letras con un numero limite de movimientos \nhasta que quede una sola en el tablero \n1:Elige una letra del tablero \n2:Con las tecla w, a, s, d elige la direccion de movimimento \n3:No hay movimentos en diagonal\n\n\nPresiona enter para empezar"); printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
/* llena la tabla de puntos*/
for(X3=0;X3<=7;X3++)
{
for(Y3=0;Y3<=7;Y3++)
{
A[X3][Y3]='.';
}
}
/*¨nivel 1*/
/* asignar de la a a la m */
A[0][1]='a';
A[1][2]='b';
A[2][3]='c';
A[3][4]='d';
A[4][5]='e';
A[5][6]='f';
A[6][6]='g';
A[6][5]='h';
A[5][4]='i';
A[4][3]='j';
A[3][2]='k';
A[2][1]='l';
A[1][0]='m';
do
{ for(X2=0;X2<=7;X2++)
{
for(Y2=0;Y2<=7;Y2++)
{
}
}
problema=1;
printf("Elige la direccion(w,a,s,d)");
for(X=0;X<=7;X++)
{ Y=0;
while (Y<=7 && problema<2)
{
if(A[X][Y]==letra)
{ /*las dos condiciones siguientes tienen un comprtamiento extraño, borran gran parte de la matriz o en dado caso lanza errores*/
if (direccion=='s')
{
A[X][Y]='.';
A[X+1][Y]='.';
A[X+2][Y]=letra;
}
if(direccion=='d')
{
A[X][Y]='.';
A[X][Y+1]='.';
A[X][Y+2]=letra;
}
/*las dos condiciones siguientes hacen lo que quiero y son basicamente la misma instruccion*/
if(direccion=='w')
{
A[X][Y]='.';
A[X-1][Y]='.';
A[X-2][Y]=letra;
}
if(direccion=='a')
{
A[X][Y]='.';
A[X][Y-1]='.';
A[X][Y-2]=letra;
}
problema=problema+1;
}
Y++;
}
}
C=C+1;
}while(C!=13);
/*buscar si quedo la g sola*/
for(X=0;X<=7;X++)
{
for(Y=0;Y<=7;Y++)
{
if(A[X][Y]=='a'||A[X][Y]=='b'||A[X][Y]=='c'||A[X][Y]=='d'||A[X][Y]=='e'||A[X][Y]=='f'||A[X][Y]=='h'||A[X][Y]=='i'||A[X][Y]=='j'||A[X][Y]=='k'||A[X][Y]=='l'||A[X][Y]=='m'||A[X][Y]=='n')
{
perdiste=perdiste+1;
}
}
}
if(perdiste<1)
{
/*you win*/
printf(" LBBB. :BBBU iBBBBBBBBBBBBBB .BBBq BBBB \n JBBB, :BBB1 .:,.7EGNZNZ0ENZ0Z00..,: .BBBq BBBB \n UBBB: iBBBk UBBBL BBBB ,BBBE BBBB \n PBBB. ,BBBG LBBBY BBBB .BBBq BBBB \n iFUjXjX: :XuPYUF7 7BBBL BBBB ,BBB0 BBBB \n BBBJ SBBB 7BBBY BBBB ,BBBq BBBB \n juYXUU5ujuY 7BBBL BBBB ,BBB0 BBBB \n MBBB7 7BBBY BBBB .BBBq BBBB \n EBBBr rBBBL BBBB ,BBB0 BBBB \n 8BBB7 7BBBY BBBB .BBBN BBBB \n GBBB7 7BBBL BBBB :BBBE BBBB \n OBBBv 2BBBY BBBB iBBBG BBBB \n OBBB7 :..7M8OGMGOGOGMGME..,, ,..iOMGOGMGOGMGO8M,..: \n BBBB1 YBBBBBBBBBBBBBB .BBBBBBBBBBBBBB \n . . 7BBBBBOGNOBBBBB BMZBBBBBBBBBBB \n .... . .i:i :.. ::: \n.BBBB BBBB 0BBBJ 0BBB BBBBBBB, :BBB \n BBBM BBBB uBBB; PBBB BBBBBBB, :BBB \n BBBE BBBB uBBB; FBBB BBBBBBB, ,BBB \n BBB8 BBBB YBBBi kBBB BBBBBBB. ,BBB \n BBBE BBBB jBBB; FBBB BBB7 GBBB ,BBB \n BBB8 BBBB JBBBi kBBB BBB7 BBBB ,BBB \n BBBE BBBB uBBB; FBBB BBBY BBBB .BBB \n BBBG BBBB JBBBi XBBB BBBL BBBB BBB \n BBBZ BBBB uBBBr FBBB BBBY BBBBBBB \n.BBBB BBBB jBBBL kBBB BBBL BBBBBBB \n :,.iMMM BBB7 kBBB BBBj BBBBBBB \n ,BBB BBBL BBBB BBBF BBBBBBB \nPresiona enter para continuar");
}
else
{
/*game over*/
printf("GEOEOGM8MOMOM8M8MOMG8ZOGMOMOMOMOM8M8OGOOMOMGOZ8ZM8M8M8M8MOMOMOMOM8M8M8OZ8ZG\nZZ0GGBBBBBBBBBBBBBBBGMMBBBBBBBBBBBBM8OBBBBBBG8ZOBBBBBBMBBBBBBBBBBBBBBBB8E8N\n80O8BBi:i:i:::i::::LBBB:i:i:::i:i:7BBBr:i::OBBBBk:i::JBr::iii:i:::i::.YBMGG\nG88B7: BL: iUB .rBBr :B B8OE\nOEMB :FFqX0P0XFZB :7;i7. :B. ;: iB. YM0P0P0PqUEBMZZ\nZ8MB. ZBjvjYuJu7qB. BBBBBX iB. rB. ;5YYLJLJv72B8OE\n8EMB. FB :B. :ri:7. rB. rB. .BMZG\nZGMB. ZBEPBi iB. iB. 7S 8: rB. YB0E0ZNZqS0BG8E\n8EMB .rrLu: :B. iUYvF. iB. 0B71BL iB. iuYvL7L77i1BMZ8\nZG8BUL YNB 2BBBB; .B YBBBB, :B B8OE\nO0O8BBJYjYYLYLjYYuBBBuLYj7EBMOBSLYj7kBUvjLvNB8MBk7JYLFBuYYuYjLYLYLYLLr5BOEG\nZGZO8BBBBBBBBBBBBBMMMBBBBBBOZ88BBBBBBBBBBBBBMBMBBBBBBBMBBBBBBBBBBBBBBBBOZ8E\n80OGBBBBBBBBBBBBBBBMBBBBBBB8OGMBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBG8ZG\nGZ8MBB .BBB. YBGMBr iB. iB. .BBMG80\n80MB, rB YBM8B: :B ,B iBMZG\nZGOB JBOGB; iB. 2BOBBr iB. qBBBBBBBBBBB. PBBBB7 .BGO0\nO0MB. FBBBBY iB qBBBBv iB. . . rB. ...., MMMOZG\nZGOB. 1BBBB7 ;B BB :B. :B. BBBBMG8E\n80MB. SBBBBY :BB8 BBB. PBBBBBBBBBBB. XB :BBMMGG\nZ8OB :BBBBL XBBBB 7B. XBB1 :B88E\n8EMMBE BMB8MBBB. iBBBOBB .B jBBBB: ,BMG8\nZ8GMBB8BMBMBMBMBMMBBG8GOMBBMMB8BBBGO8BGMMBBBMBMBMBMBZMBM8BM8MB8BBBMBMO8BGO0\nONGE8OBBBBBBBBBBBBMZGEG088BBBBBM8EG0GGBBBBBBBBBBBBBBBMMMBBBBMZGZOMBBBBMZ8EZ"); }
}