- #include <stdio.h> 
- #include <stdlib.h> 
- #include <time.h> 
-   
- //Prototipos 
- void menu(); 
- void reglas(); 
- void fin_juego(); 
- void Elegir_Bosque(); 
- void Iniciar_Bosque(); 
- void Actualizar_Juego(); 
- void Bucle_Juego(); 
- void mover_tirarflecha(int); 
-   
- //Variables globales 
- char bosque6x6[6][6]; 
- char bosque8x8[8][8]; 
- char bosque10x10[10][10]; 
- char bosque14x14[14][14]; 
- char bosque18x18[18][18]; 
-   
- int opcion=0; 
- int tam_bosque=0; 
-   
- int main() 
- { 
-     while(opcion!=3) 
-     { 
-         menu(); 
-         switch(opcion) 
-         { 
-             case 1: Elegir_Bosque(); 
-                     break; 
-             case 2: reglas(); 
-                     break; 
-             case 3: fin_juego(); 
-                     break; 
-         } 
-      } 
-    return 0; 
- } 
-   
- void menu() 
- { 
-    printf("     ______ARQUEROS EN EL BOSQUE_______\n"); 
-    printf("     ____________OOOOOO________________\n"); 
-    printf("     _________OOOOOOOOOOOOO____________\n"); 
-    printf("     _____OOOOOOOOOOOOOOOOOOOO_________\n"); 
-    printf("     ___OOOOOOOOOOOOOOOOOOOOOOOO_______\n"); 
-    printf("     ___OOOOOOOOOOOOOOOOOOOOOOOO_______\n"); 
-    printf("     _____OOOOOOOOOOOOOOOOOOOO_________\n"); 
-    printf("     ______OOOOOOOOOOOOOOOOOO__________\n"); 
-    printf("     _________OOOOOOOOOOOO_____________\n"); 
-    printf("     __<----____OOOOOOOO_______________\n"); 
-    printf("     _____________OOOO_________________\n"); 
-    printf("     _____________OOOO_______---->_____\n"); 
-    printf("     _____________OOOO_________________\n"); 
-    printf("     _____________OOOO_________________\n"); 
-    printf("     Ingrese una de las opciones: \n"); 
-    printf("     3.Salir del juego\n"); 
- } 
-   
- void reglas() //aca muestro las reglas. tiene que poder volver al menu anterior 
- { 
-    printf("El juego consiste en eliminar al arquero del extremo opuesto. \n"); 
-    printf("Cada turno puede elegir moverse una casilla o lanzar un flechazo. \n"); 
-    printf("Los flechazos se mueven en linea recta, maximo cinco lugares.\n"); 
-    printf("Ni los jugadores ni los flechazos pueden atravezar los arboles(X)"); 
-    printf(" Al recibir un flechazo el jugador pierde el round, las partidas se componen de 3 round y las gana el que gane 2 de ellos.\n"); 
-    printf("Jugador primero sera identificado como 1 y jugador segundo como 2.\n"); 
-    char p; 
-    printf (">>Presiona cualquier tecla y enter para volver al menu "); 
- } 
-   
- void fin_juego() 
- { 
-     printf("\n\n\n\t\t\t* GRACIAS POR JUGAR! *\n\n\n"); 
-     printf("\t\t\t  Sabrina Cabrera.\n \t\t\t  Programacion.\n \t\t\t  Tecnologo 2015\n\n"); 
- } 
-   
- void Elegir_Bosque() 
- { 
-    int elige_bosque; 
-    printf("     >        Ingresa una opcion:        <\n\n"); 
-    printf("     >        1- Bosque de 6 x 6         <\n"); 
-    printf("     >        2- Bosque de 8 x 8         <\n"); 
-    printf("     >        3- Bosque de 10 x 10       <\n"); 
-    printf("     >        4- Bosque de 14 x 14       <\n"); 
-    printf("     >        5- Bosque de 18 x 18       <\n"); 
-    scanf(" %d", &- elige_bosque );
 
-   
-   
-    switch(elige_bosque) 
-    { 
-        case 1: tam_bosque = 6; 
-                Iniciar_Bosque(); 
-                Bucle_Juego(); 
-                break; 
-        case 2: tam_bosque = 8; 
-                Iniciar_Bosque(); 
-                Bucle_Juego(); 
-                break; 
-        case 3: tam_bosque = 10; 
-                Iniciar_Bosque(); 
-                Bucle_Juego(); 
-                break; 
-        case 4: tam_bosque = 14; 
-                Iniciar_Bosque(); 
-                Bucle_Juego(); 
-                break; 
-        case 5: tam_bosque = 18; 
-                Iniciar_Bosque(); 
-                Bucle_Juego(); 
-                break; 
-    } 
-   
- } 
- //valores iniciales para el bosque 
- void Iniciar_Bosque() 
- { 
-   
-     int Xnum=0; 
-     int i, j; 
-   
-     if(tam_bosque == 6) 
-     { 
-         for(i = 0; i < tam_bosque;i++) 
-             for(j = 0; j < tam_bosque;j++) 
-                 bosque6x6[i][j] = ' '; 
-   
-         bosque6x6[0][0] = '1'; 
-         bosque6x6[5][5] = '2'; 
-   
-   
-         while(Xnum < tam_bosque/2 ) 
-   
-         { 
-             i  = (rand() %-  tam_bosque );
-             j  = (rand() %-  tam_bosque );
-   
-             if(bosque6x6[i][j] == ' ') 
-             { 
-                 bosque6x6[i][j] = 'X'; 
-                 Xnum++; 
-             } 
-   
-         } 
-     } 
-   
-     else if(tam_bosque == 8) 
-     { 
-         for(i = 0; i < tam_bosque;i++) 
-             for(j = 0; j < tam_bosque;j++) 
-                 bosque8x8[i][j] = ' '; 
-   
-         bosque8x8[0][0] = '1'; 
-         bosque8x8[7][7] = '2'; 
-   
-         while(Xnum < tam_bosque/2 ) 
-         { 
-   
-             if(bosque8x8[i][j] == ' ') 
-             { 
-                 bosque8x8[i][j] = 'X'; 
-                 Xnum++; 
-             } 
-   
-         } 
-     } 
-     else if(tam_bosque == 10) 
-     { 
-         for(i = 0; i < tam_bosque;i++) 
-             for(j = 0; j < tam_bosque;j++) 
-                 bosque10x10[i][j] = ' '; 
-   
-         bosque10x10[0][0] = '1'; 
-         bosque10x10[9][9] = '2'; 
-   
-         while(Xnum < tam_bosque/2 ) 
-         { 
-   
-             if(bosque10x10[i][j] == ' ') 
-             { 
-                 bosque10x10[i][j] = 'X'; 
-                 Xnum++; 
-             } 
-   
-         } 
-     } 
-     else if(tam_bosque == 14) 
-     { 
-         for(i = 0; i < tam_bosque;i++) 
-             for(j = 0; j < tam_bosque;j++) 
-                 bosque14x14[i][j] = ' '; 
-   
-         bosque14x14[0][0] = '1'; 
-         bosque14x14[13][13] = '2'; 
-   
-         while(Xnum < tam_bosque/2 ) 
-         { 
-   
-             if(bosque14x14[i][j] == ' ') 
-             { 
-                 bosque14x14[i][j] = 'X'; 
-                 Xnum++; 
-             } 
-   
-         } 
-     } 
-     else if(tam_bosque == 18) 
-     { 
-         for(i = 0; i < tam_bosque;i++) 
-             for(j = 0; j < tam_bosque;j++) 
-                 bosque18x18[i][j] = ' '; 
-   
-         bosque18x18[0][0] = '1'; 
-         bosque18x18[17][17] = '2'; 
-   
-         while(Xnum < tam_bosque/2 ) 
-         { 
-   
-             if(bosque18x18[i][j] == ' ') 
-             { 
-                 bosque18x18[i][j] = 'X'; 
-                 Xnum++; 
-             } 
-   
-         } 
-     } 
-   
- } 
- //dibuja cuando sea necesario 
- void Actualizar_Juego() 
- { 
-   
-     if(tam_bosque == 6) 
-     { 
-         int i,j; 
-   
-         for (j = 0; j < tam_bosque;j++) //filas alfabeticas 
-   
-         for (i = 0;i < tam_bosque;i++) //columnas numeradas 
-         { 
-   
-             for (j = 0;j < tam_bosque;j++) 
-             { 
-                 printf("| %c",-  bosque6x6 [- i ][- j ]);
 
-             } 
-         } 
-     } 
-     else if( tam_bosque == 8) 
-     { 
-         int i,j; 
-   
-         for (j = 0;j < tam_bosque;j++) //filas alfabeticas 
-   
-         for (i = 0;i < tam_bosque;i++) //columnas numeradas 
-         { 
-   
-             for (j = 0;j < tam_bosque;j++) 
-             { 
-                 printf("| %c",-  bosque8x8 [- i ][- j ]);
 
-             } 
-         } 
-     } 
-     else if( tam_bosque == 10) 
-     { 
-         int i,j; 
-   
-         for (j = 0;j < tam_bosque;j++) //filas alfabeticas 
-   
-         for (i = 0;i < tam_bosque;i++) //columnas numeradas 
-         { 
-   
-             for (j = 0;j < tam_bosque;j++) 
-             { 
-                 printf("| %c",-  bosque10x10 [- i ][- j ]);
 
-             } 
-         } 
-     } 
-     else if( tam_bosque == 14) 
-     { 
-         int i,j; 
-   
-         for (j = 0;j < tam_bosque;j++) //filas alfabeticas 
-   
-         for (i = 0;i < tam_bosque;i++) //columnas numeradas 
-         { 
-   
-             for (j = 0;j < tam_bosque;j++)fin_juego() 
-             { 
-                 printf("| %c",-  bosque14x14 [- i ][- j ]);
 
-             } 
-         } 
-     } 
-     else if( tam_bosque == 18) 
-     { 
-         int i,j; 
-   
-         for (j = 0;j < tam_bosque;j++) //filas alfabeticas 
-   
-         for (i = 0;i < tam_bosque;i++) //columnas numeradas 
-         { 
-   
-             for (j = 0;j < tam_bosque;j++) 
-             { 
-                 printf("| %c",-  bosque18x18 [- i ][- j ]);
 
-             } 
-         } 
-     } 
-   
- } 
-   
- //a jugar!! 
- void Bucle_Juego() 
- { 
-     int ganador=0; 
-     int turno=0; 
-   
-     printf("Que jugador empieza?: "); 
-   
-     do 
-     { 
-         while(ganador == 0)//que se repita mientras no haya ningun ganador 
-         { 
-             Actualizar_Juego(); //Actualiza el juego 
-             mover_tirarflecha(turno); //mueve o ataca 
-   
-             //Falta comprobar si alguno ya ganó 
-   
-             //Cambiando los turnos 
-             if(turno == 1) 
-             { 
-                 turno = 2; 
-             } 
-                 else 
-                     turno = 1; 
-         } 
-   
-         //cuando se termine el bucle comprueba quien ha ganado 
-         if(ganador == 1) 
-             { 
-                 printf("Ha Ganado el jugador 1"); 
-             } 
-                 else if(ganador == 2) 
-                     printf("Ha Ganado el jugador 2"); 
-   
-         ganador++; 
-     } 
-      while (ganador < 3); 
-   
-      //para que pregunte si quiere salir o seguir jugando 
-      /*char respuesta; 
-      int s=0,n=1; 
-      printf("Quiere jugar de nuevo? (s/n): "); 
-      scanf(" %c", &respuesta); 
-   
-     if (respuesta==s) 
-     { 
-   
-     } 
-         else if (respuesta==n) 
-             fin_juego();*/ 
-   
- } 
-   
- void mover_tirarflecha(int turno) 
- { 
-     char imagen_jugador; //dibuja 1' o '2' dependiendo del turno 
-   
-     if(turno == 1) 
-     { 
-         imagen_jugador = '1'; 
-         printf("Es el turno del jugador 1\n"); 
-     } 
-     else 
-     { 
-         imagen_jugador = '2'; 
-         printf("Es el turno del jugador 2\n"); 
-     } 
-   
-    char accion; 
-   
-     //moverse 
-    int o_i,d_i; //coordenadas origen 
-    char o_j,d_j;  //coordenadas destino 
-   
-    printf("Moverte o tirar flecha? (m o t)"); 
-   
-    //para saber lo que ha ingresado 
-    if(accion == 'm') 
-    { 
-        printf("\nIngrese Coordenadas origen (ej. 0-a) "); //origen 
-        scanf("%d-%c", &- o_i ,&- o_j );
 
-   
-        printf("\nIngrese Coordenadas destino (1 lugar) "); //destino 
-        scanf("%d-%c", &- d_i ,&- d_j );
 
-   
-   
-        /*Dependiendo del tamaño del bosque*/ 
-        if( tam_bosque == 6) 
-        { 
-            //para que se mueva 1 solo lugar 
-            /*if ((bosque6x6[d_i+1][d_j])&&(bosque6x6[d_i][d_j+1])&&(bosque6x6[d_i-1][d_j])&&(bosque6x6[d_i][d_j-1]))*/ 
-            { 
-                 bosque6x6[o_i][o_j - 97]= ' '; //queda vacio donde estaba 
-                 bosque6x6[d_i][d_j - 97]= imagen_jugador; //a donde lo mueve mientras esté el espacio vacio 
-            } 
-        } 
-        else if( tam_bosque == 8) 
-        { 
-            bosque8x8[o_i][o_j - 97]= ' '; 
-            bosque8x8[d_i][d_j - 97]= imagen_jugador; 
-        } 
-        else if( tam_bosque == 10) 
-        { 
-            bosque10x10[o_i][o_j - 97]= ' '; 
-            bosque10x10[d_i][d_j - 97]= imagen_jugador; 
-        } 
-        else if( tam_bosque == 14) 
-        { 
-            bosque14x14[o_i][o_j - 97]= ' '; 
-            bosque14x14[d_i][d_j - 97]= imagen_jugador; 
-        } 
-        else if( tam_bosque == 18) 
-        { 
-            bosque18x18[o_i][o_j - 97]= ' '; 
-            bosque18x18[d_i][d_j - 97]= imagen_jugador; 
-        } 
-   
-    } 
-   else if(accion == 't') //para disparar flecha. Se mueven arriba,abajo,izq,derecha 
-    { 
-        //para el bosque x6 
-        if (tam_bosque==6) 
-        { 
-            int limite=0, arriba=0, abajo=0, izq=0, derecha=0; 
-            int i=d_i; 
-            int j=d_j; 
-   
-            while((limite<5) && (arriba<6) && (bosque6x6[i][j]!='X'))//para arriba 
-            { 
-                if (bosque6x6[i][j]=='2') 
-                   { 
-                         arriba++; 
-                         j++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-   
-            } 
-   
-            while((limite<5) && (abajo<6) && (bosque6x6[i][j]!='X'))//para abajo 
-   
-            { 
-                if (bosque6x6[i][j]=='2') 
-                   { 
-                         abajo++; 
-                         j--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-            } 
-   
-            while((limite<5) && (izq<6) && (bosque6x6[i][j]!='X'))//para la izquierda 
-            { 
-                if (bosque6x6[i][j]=='2') 
-                     { 
-                         izq++; 
-                         i--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-   
-            } 
-   
-            while((limite<5) && (derecha<6) && (bosque6x6[i][j]!='X'))//para la derecha 
-            { 
-                if (bosque6x6[i][j]=='2') 
-                   { 
-                         derecha++; 
-                         i++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-            } 
-   
-   
-        }/* 
-   
-         //para el bosque x8 
-        if (tam_bosque==8) 
-        { 
-            int limite=0, arriba=0, abajo=0, izq=0, derecha=0; 
-            int i=d_i; 
-            int j=d_j; 
-   
-            while((limite<7) && (arriba<8) && (bosque6x6[i][j]!='X'))//para arriba 
-            { 
-                if (bosque8x8[i][j]=='2') 
-                   { 
-                         arriba++; 
-                         j++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<7) && (abajo<8) && (bosque8x8[i][j]!='X'))//para abajo 
-   
-            { 
-                if (bosque8x8[i][j]=='2') 
-                   { 
-                         abajo++; 
-                         j--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-            while((limite<7) && (izq<8) && (bosque8x8[i][j]!='X'))//para la izquierda 
-            { 
-                if (bosque8x8[i][j]=='2') 
-                     { 
-                         izq++; 
-                         i--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<7) && (derecha<8) && (bosque8x8[i][j]!='X'))//para la derecha 
-            { 
-                if (bosque8x8[i][j]=='2') 
-                   { 
-                         derecha++; 
-                         i++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-   
-        } 
-   
-         //para el bosque x10 
-        if (tam_bosque==10) 
-        { 
-            int limite=0, arriba=0, abajo=0, izq=0, derecha=0; 
-            int i=d_i; 
-            int j=d_j; 
-   
-            while((limite<9) && (arriba<10) && (bosque10x10[i][j]!='X'))//para arriba 
-            { 
-                if (bosque10x10[i][j]=='2') 
-                   { 
-                         arriba++; 
-                         j++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<9) && (abajo<10) && (bosque10x10[i][j]!='X'))//para abajo 
-   
-            { 
-                if (bosque10x10[i][j]=='2') 
-                   { 
-                         abajo++; 
-                         j--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-            while((limite<9) && (izq<10) && (bosque10x10[i][j]!='X'))//para la izquierda 
-            { 
-                if (bosque10x10[i][j]=='2') 
-                     { 
-                         izq++; 
-                         i--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<9) && (derecha<10) && (bosque10x10[i][j]!='X'))//para la derecha 
-            { 
-                if (bosque10x10[i][j]=='2') 
-                   { 
-                         derecha++; 
-                         i++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-   
-        } 
-   
-         //para el bosque x14 
-        if (tam_bosque==14) 
-        { 
-            int limite=0, arriba=0, abajo=0, izq=0, derecha=0; 
-            int i=d_i; 
-            int j=d_j; 
-   
-            while((limite<13) && (arriba<14) && (bosque14x14[i][j]!='X'))//para arriba 
-            { 
-                if (bosque14x14[i][j]=='2') 
-                   { 
-                         arriba++; 
-                         j++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<13) && (abajo<14) && (bosque14x14[i][j]!='X'))//para abajo 
-            { 
-                if (bosque14x14[i][j]=='2') 
-                   { 
-                         abajo++; 
-                         j--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-            while((limite<13) && (izq<14) && (bosque6x6[i][j]!='X'))//para la izquierda 
-            { 
-                if (bosque6x6[i][j]=='2') 
-                     { 
-                         izq++; 
-                         i--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<13) && (derecha<14) && (bosque14x14[i][j]!='X'))//para la derecha 
-            { 
-                if (bosque6x6[i][j]=='2') 
-                   { 
-                         derecha++; 
-                         i++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-   
-        } 
-   
-         //para el bosque x18 
-        if (tam_bosque==6) 
-        { 
-            int limite=0, arriba=0, abajo=0, izq=0, derecha=0; 
-            int i=d_i; 
-            int j=d_j; 
-   
-            while((limite<17) && (arriba<18) && (bosque18x18[i][j]!='X'))//para arriba 
-            { 
-                if (bosque18x18[i][j]=='2') 
-                   { 
-                         arriba++; 
-                         j++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<17) && (abajo<18) && (bosque18x18[i][j]!='X'))//para abajo 
-   
-            { 
-                if (bosque18x18[i][j]=='2') 
-                   { 
-                         abajo++; 
-                         j--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-            while((limite<17) && (izq<18) && (bosque18x18[i][j]!='X'))//para la izquierda 
-            { 
-                if (bosque18x18[i][j]=='2') 
-                     { 
-                         izq++; 
-                         i--; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-   
-            } 
-   
-            while((limite<17) && (derecha<18) && (bosque18x18[i][j]!='X'))//para la derecha 
-            { 
-                if (bosque6x6[i][j]=='2') 
-                   { 
-                         derecha++; 
-                         i++; 
-                         printf("GAME OVER: Jugador 2"); 
-                   } 
-                         else printf("Fallaste!\n"); 
-            } 
-   
-   
-        }*/ 
-    } 
- } 
-