Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/11/2013, 19:19
Avatar de Cova
Cova
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: juego con comportamiento extraño

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
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5. char A[8][8],letra,direccion,CO;
  6. int C=1,X,Y,X2,Y2,X3,Y3,T=0,problema=1,perdiste=0;
  7.  
  8. /*Logo*/
  9. 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...");
  10.  
  11. /*efecto de tiempo
  12.  
  13. do
  14. {
  15.     T=T+1;
  16. }while(T<=1990000000);*/
  17.  
  18. 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");
  19. printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
  20.  
  21. system("pause>nul");
  22. printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
  23.  
  24.  
  25. /* llena la tabla de puntos*/
  26. for(X3=0;X3<=7;X3++)
  27.     {
  28.         for(Y3=0;Y3<=7;Y3++)
  29.         {
  30.            A[X3][Y3]='.';
  31.  
  32.         }
  33.     }
  34. /*¨nivel 1*/
  35.  
  36. /* asignar de la a a la m */
  37. A[0][1]='a';
  38. A[1][2]='b';
  39. A[2][3]='c';
  40. A[3][4]='d';
  41. A[4][5]='e';
  42. A[5][6]='f';
  43. A[6][6]='g';
  44. A[6][5]='h';
  45. A[5][4]='i';
  46. A[4][3]='j';
  47. A[3][2]='k';
  48. A[2][1]='l';
  49. A[1][0]='m';
  50.  
  51. do
  52. {   for(X2=0;X2<=7;X2++)
  53.     {
  54.         for(Y2=0;Y2<=7;Y2++)
  55.         {
  56.            printf("%c    ",A[X2][Y2]);
  57.         }
  58.         printf("\n\n\n");
  59.     }
  60. problema=1;
  61.     printf("Elige la letra:");
  62.     scanf("%c",&letra);
  63.     fflush(stdin);
  64.  
  65.     printf("Elige la direccion(w,a,s,d)");
  66.     scanf("%c",& direccion);
  67.     fflush(stdin);
  68.  
  69.  
  70.     for(X=0;X<=7;X++)
  71.     {   Y=0;
  72.          while (Y<=7 && problema<2)
  73.         {
  74.                 if(A[X][Y]==letra)
  75.                 {       /*las dos condiciones siguientes tienen un comprtamiento extraño, borran gran parte de la matriz o en dado caso lanza errores*/
  76.  
  77.                             if (direccion=='s')
  78.                             {
  79.                             A[X][Y]='.';
  80.                             A[X+1][Y]='.';
  81.                             A[X+2][Y]=letra;
  82.                             }
  83.  
  84.                             if(direccion=='d')
  85.                             {
  86.                             A[X][Y]='.';
  87.                             A[X][Y+1]='.';
  88.                             A[X][Y+2]=letra;
  89.                             }
  90.                             /*las dos condiciones siguientes hacen lo que quiero y son basicamente la misma instruccion*/
  91.                             if(direccion=='w')
  92.                             {
  93.                             A[X][Y]='.';
  94.                             A[X-1][Y]='.';
  95.                             A[X-2][Y]=letra;
  96.                             }
  97.  
  98.                             if(direccion=='a')
  99.                             {
  100.                             A[X][Y]='.';
  101.                             A[X][Y-1]='.';
  102.                             A[X][Y-2]=letra;
  103.                             }
  104.                             problema=problema+1;
  105.                     }
  106.             Y++;
  107.             }
  108.         }
  109.  
  110. printf("\n\n\n\n\n\n\n\n");
  111. C=C+1;
  112.  
  113. }while(C!=13);
  114.  
  115. /*buscar si quedo la g sola*/
  116. for(X=0;X<=7;X++)
  117.     {
  118.         for(Y=0;Y<=7;Y++)
  119.         {
  120.            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')
  121.            {
  122.                perdiste=perdiste+1;
  123.            }
  124.         }
  125.     }
  126.  
  127. if(perdiste<1)
  128. {
  129.     /*you win*/
  130.     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");
  131.     system("pause>nul");
  132.  
  133.  
  134.  
  135.  
  136.  
  137. }
  138.  
  139. else
  140. {
  141.     /*game over*/
  142.     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");
  143. }
  144.  
  145. }