Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: josemanuelbarajas998 en 14 Mayo 2017, 07:56 AM

Título: Gato en 3D
Publicado por: josemanuelbarajas998 en 14 Mayo 2017, 07:56 AM
Buenas, tengo que hacer proyecto del juego del gato en C, tengo que hacer un nivel imposible donde solo gana la PC.
Esto llevo hasta ahorita:
https://pastebin.com/QR5jHfYz
Título: Re: Gato en 3D
Publicado por: engel lex en 14 Mayo 2017, 17:58 PM
tu digo algo... tu codigo es casi ilegible son 1500 lineas de condicionales... con ciclos y matemática te hubieras ahorrado por lo menos 1000lineas

       switch(x)
       {
       case 'a':
           i=0; j=0; k=0;
           if(a[i][j][k]=='X' || a[i][j][k]=='O')
           {
               ocupado++;
               printf("Ingrese otro caracter distinto a 'a'!\n");
               system("pause");
           }
       break;


ahí puedes ajustar 'a' como 0 y avanzar desde allí transformando a ternario


 base = x-'a';
 int i, salida[3];
 for(i=2; i>=0; i--){
   salida[i] = base%3;
   base/=3;
 }


si hubieras hecho algo así te ahorras todo el contenido de los  los switch... si te fijas, salida contiene tu posición en 3d... los if de comprobación va por los mismos tiros...

sin contar que creo que estas funciones hacen virutalmente lo mismo

void introducir_X_n1();
void introducir_X_nvsPC();
void introducir_O();
void introducir_O_IA();
void introducir_O_IA_n3();


justamente la intención de las funciones es no repetir código en lo posible

no te ayudo con tu solicitud ya que no tengo idea cual es el juego del gato y despues de intentar leer tu codigo, tanpoco pude deducirlo... pero espero que eso te ayude
Título: Re: Gato en 3D
Publicado por: MAFUS en 14 Mayo 2017, 20:07 PM
Jeje, es el 3 en Raya o el TaTeTi, Tic Tac Toe en inglés.