IshshahSofia / Juego-de-gato-ProyectoFinal

Juego de gato o tictactoe como proyecto final en mi primer semestre en la facultad de ingeniería
0 stars 0 forks source link

Código fuente comentado #3

Open IshshahSofia opened 2 years ago

IshshahSofia commented 2 years ago

include

int main() {

char matriz[3][3], opc; -> Matriz para crear el tablero de gato en cuadros de 3x3
int i, j;

printf("Juego del gato!c:\n"); -> bienvenida al juego

for(i=0; i<3; i++){
    for(j=0; j<3; j++){
        matriz[i][j]=' ';
        printf("[%c]", matriz[i][j]);
    }
    printf("\n");
}

printf("\n\nPresione S para jugar / N para salir: "); -> Indicaciones para comenzar a jugar
scanf("%c", &opc);

int fila, col, ganador=0, turno=1; -> Especificación de turnos, cada jugador cuenta con 1 único turno

if(opc == 'S' || opc == 's'){

    do{
        if(turno%2==1){
            do{  -> Indicaciones del primer jugador, siempre comienza el jugador X
                printf("\nJugador tachecito: \n");
                printf("Digite fila, arriba hacia abajo de 0 a 2: ");
                fflush(stdin);
                scanf("%d", &fila);
                printf("Digite columna, izquierda a derecha de 0 a 2: ");
                fflush(stdin);
                scanf("%d", &col);

                if(matriz[fila][col] == 'x' || matriz[fila][col] == 'o' || fila > 2 || col > 2){
                    //Caracter de alarma
                    printf("---Caracter de alarma---\a");
                    printf("\nTe equivocaste, intenta de nuevo.\n");
                }  -> En caso de cometer un error se producirá un caracter de alarma y la leyenda ya vista
            }while(matriz[fila][col] == 'x' || matriz[fila][col] == 'o' || fila > 2 || col > 2);

            matriz[fila][col]='x';

            for(i=0; i<3; i++){
                for(j=0; j<3; j++){
                    printf("[%c]", matriz[i][j]);
                }
                printf("\n");
            }
            turno++;
        } else if(turno%2==0){
            do{  -> Turno del siguiente jugador O junto con sus indicaciones
                printf("\nJugador bolita: \n");
                printf("Digite fila, arriba hacia abajo de 0 a 2: ");
                fflush(stdin);
                scanf("%d", &fila);
                printf("Digite columna, izquierda a derecha de 0 a 2: ");
                fflush(stdin);
                scanf("%d", &col);

                if(matriz[fila][col] == 'x' || matriz[fila][col] == 'o' || fila > 2 || col > 2){
                    //Caracter de alarma
                    printf("---Caracter de alarma---\a");
                    printf("\nTe equivocaste intenta de nuevo.\n");
                } -> En caso de cometer un error se producirá un caracter de alarma y la leyenda ya vista
            } while(matriz[fila][col] == 'x' || matriz[fila][col] == 'o' || fila > 2 || col > 2);

            matriz[fila][col]='o';

            for(i=0; i<3; i++){
                for(j=0; j<3; j++){
                    printf("[%c]", matriz[i][j]);
                }
                printf("\n");
            }
            turno++;
        }

        if(matriz[0][0] == 'x' && matriz[0][0] == matriz[0][1] && matriz[0][0] == matriz[0][2]
        || matriz[1][0] == 'x' && matriz[1][0] == matriz[1][1] && matriz[1][0] == matriz[1][2]
        || matriz[2][0] == 'x' && matriz[2][0] == matriz[2][1] && matriz[2][0] == matriz[2][2]

        || matriz[0][0] == 'x' && matriz[0][0] == matriz[1][0] && matriz[0][0] == matriz[2][0]
        || matriz[0][1] == 'x' && matriz[0][1] == matriz[1][1] && matriz[0][1] == matriz[2][1]
        || matriz[0][2] == 'x' && matriz[0][2] == matriz[1][2] && matriz[0][2] == matriz[2][2]

        || matriz[0][0] == 'x' && matriz[0][0] == matriz[1][1] && matriz[0][0] == matriz[2][2]
        || matriz[0][2] == 'x' && matriz[0][2] == matriz[1][1] && matriz[0][2] == matriz[2][0]){
            ganador=1; -> Todas las opciones y jugadas que puede realizar el jugador 1 para ganar el juego 
            //Caracter de alarma
    printf("---Caracter de alarma---\a");
            printf("\nFelicidades! Gano el jugador tachecito.\n");
        } -> Texto y alarma que se despliegan cuando uno de los jugadores ha ganado

        if(matriz[0][0] == 'o' && matriz[0][0] == matriz[0][1] && matriz[0][0] == matriz[0][2]
        || matriz[1][0] == 'o' && matriz[1][0] == matriz[1][1] && matriz[1][0] == matriz[1][2]
        || matriz[2][0] == 'o' && matriz[2][0] == matriz[2][1] && matriz[2][0] == matriz[2][2]

        || matriz[0][0] == 'o' && matriz[0][0] == matriz[1][0] && matriz[0][0] == matriz[2][0]
        || matriz[0][1] == 'o' && matriz[0][1] == matriz[1][1] && matriz[0][1] == matriz[2][1]
        || matriz[0][2] == 'o' && matriz[0][2] == matriz[1][2] && matriz[0][2] == matriz[2][2]

        || matriz[0][0] == 'o' && matriz[0][0] == matriz[1][1] && matriz[0][0] == matriz[2][2]
        || matriz[0][2] == 'o' && matriz[0][2] == matriz[1][1] && matriz[0][2] == matriz[2][0]){
            ganador=1; -> Todas las opciones y jugadas que puede realizar el jugador 2 para ganar el juego 
            //Caracter de alarma
    printf("---Caracter de alarma---\a");
            printf("\nFelicidades! Gano el jugador bolita.\n");
        } -> Texto y alarma que se despliegan cuando uno de los jugadores ha ganado

    } while(ganador != 1);
} else {
    //Caracter de alarma
    printf("---Caracter de alarma---\n");
    printf("espera!!!\a");
    printf("No te vayas!!!\n");

    printf("\nRegresa a mi juego, es mi proyecto final!.\n");
}  -> En caso de querer salir del juego, se leen estas leyendas junto con un carácter de alarma.

return 0;

}

IshshahSofia commented 2 years ago

Todos los comentarios se encuentran despues de un "->"