int main(int argc, char *argv[]) { int fin,colocadas; // fin indica el final de la partida char tablero[FIL][COL]; char turno; // indica quien es el jugador que tiene el turno 'x' o 'o' char otra= 's'; // indica si los jugadores quieren volver a jugar 's' o no 'n' while(otra=='s') { fin=0; // mientras fin==0 la partida no acaba colocadas=0; // muestra el número de fichas colocadas turno='X'; // empezamos con el turno del jugador x // inicializar el tablero y dibujarlo inicializar_tablero(tablero); dibujar_tablero(tablero); while((colocadas<6)&&(!fin)){ // ir pidiendo fichas y dibujando el tablero para ver como se van colocando. Al mismo tiempo // se debe de ir comprobando que ninguno de los dos jugadores ha ganado y cambiando el turno del jugador pedir_pieza(tablero, turno); dibujar_tablero(tablero); fin= ganar(tablero, turno); if(fin==0) {cambiar_turno(&turno);} colocadas++; } while(!fin) { // mientras no acabe la partida moviendo las fichas, dibujando el tablero, comprobando si ha ganado algún // jugador y cambiando el turno mover_ficha(tablero, turno); dibujar_tablero(tablero); fin= ganar(tablero, turno); if(fin==0) {cambiar_turno(&turno);} } // una vez se acabe la partida, decir quien ha sido el ganador y dar la opción de volver a jugar printf ("\n"); printf ("-EL GANADOR DE LA PARTIDA ES EL JUGADOR: %c", turno); printf ("\n"); printf ("-DESEA JUGAR OTRA PARTIDA? (s/n):"); scanf ("%c", &otra); } system("PAUSE"); return 0; }
int main(){ //DECLARACION DE VARIABLES int opcion, fitxa; int obst_col, obst_fil; char sino; //funcio 4. tablero_net(); do{ //funcion 1. dibujar_tablero(); printf("\n \n"); //MENU DE COSES QUE ES PODEN FER printf("\n\n"); printf("TABLERO DE ESCACS\n"); printf("-------------------------------------\n"); printf("1. Mostrar els moviments d'una fitxa\n"); printf("2. Posar impediments\n"); printf("3. Esborrar tauler\n"); printf("4. Eixir\n"); printf("-------------------------------------\n"); printf("\n\n - "); printf("Tria el numero d'una opcio: "); scanf("%i", &opcion); fflush(stdin); //EXECUTEM L'OPCIO ESCOLLIDA switch (opcion){ //Demanar fitxa case 1: //do{ printf("\n"); printf("FITXES DE ESCACS\n"); printf("-------------------------------------\n"); printf("1. TORRE\n"); printf("2. ALFIL\n"); printf("3. DAMA\n"); printf("4. REI\n"); printf("5. CAVALL\n"); printf("6. EIXIR\n"); printf("-------------------------------------\n"); printf("\n"); printf("Tria el numero d''una fitxa: "); scanf("%i", &fitxa); fflush(stdin); printf("\n"); switch(fitxa){ // TORRE case 1: borrar_mov(); //funcio 12. printf(" # TORRE #\n"); printf("-----------------------------\n"); do{ do{ printf("\nEn quina fila vols colocar-la?\n "); scanf("%i", &fil); fflush(stdin); //funcio 2 errors_fil(); } while (fil<=0 || fil>=9); printf("Molt be!\n"); do{ printf("\nEn quina columna vols colocar-la?\n "); scanf("%i", &col); fflush(stdin); //funcio 3 errors_col(); } while (col<=0 || col>=9); //funcio 9 lloc_ocupat(); }while(tabl[fil][col]!=' '); tabl[fil][col]='T'; //guardem la possicio pos_fil=fil; pos_col=col; mov_torre(); //funcion 5. system("cls"); // neteja la pantalla break; // ALFIL case 2: borrar_mov(); //funcio 12. printf(" # ALFIL #\n"); printf("-----------------------------\n"); do{ do{ printf("\nEn quina fila vols colocar-la?\n "); scanf("%i", &fil); fflush(stdin); //funcio 2 errors_fil(); } while (fil<=0 || fil>=9); printf("Molt be!\n"); do{ printf("\nEn quina columna vols colocar-la?\n "); scanf("%i", &col); fflush(stdin); //funcio 3 errors_col(); } while (col<=0 || col>=9); //funcio 9 lloc_ocupat(); }while(tabl[fil][col]!=' '); tabl[fil] [col]='A'; //guardem la possicio pos_fil=fil; pos_col=col; //funcio 6 mov_alfil(); system("cls"); // neteja la pantalla break; // DAMA case 3: borrar_mov(); //funcio 12. printf(" # DAMA #\n"); printf("-----------------------------\n"); do{ do{ printf("\nEn quina fila vols colocar-la?\n "); scanf("%i", &fil); fflush(stdin); //funcio 2 errors_fil(); } while (fil<=0 || fil>=9); printf("Molt be!\n"); do{ printf("\nEn quina columna vols colocar-la?\n "); scanf("%i", &col); fflush(stdin); //funcio 3 errors_col(); } while (col<=0 || col>=9); //funcio 9 lloc_ocupat(); }while(tabl[fil][col]!=' '); tabl[fil] [col]='D'; //guardem la possicio pos_fil=fil; pos_col=col; //funcio 5 i 6 mov_torre(); mov_alfil(); system("cls"); // neteja la pantalla break; // REI case 4: borrar_mov(); //funcio 12. printf(" # REI #\n"); printf("-----------------------------\n"); do{ do{ printf("\nEn quina fila vols colocar-la?\n "); scanf("%i", &fil); fflush(stdin); //funcio 2 errors_fil(); } while (fil<=0 || fil>=9); printf("Molt be!\n"); do{ printf("\nEn quina columna vols colocar-la?\n "); scanf("%i", &col); fflush(stdin); //funcio 3 errors_col(); } while (col<=0 || col>=9); //funcio 9 lloc_ocupat(); }while(tabl[fil][col]!=' '); tabl[fil] [col]='R'; //guardem la possicio pos_fil=fil; pos_col=col; //funcio 7 mov_rei(); system("cls"); // neteja la pantalla break; // CAVALL case 5: borrar_mov(); //funcio 12. printf(" # CAVALL #\n"); printf("-----------------------------\n"); do{ do{ printf("\nEn quina fila vols colocar-la?\n "); scanf("%i", &fil); fflush(stdin); //funcio 2 errors_fil(); } while (fil<=0 || fil>=9); printf("Molt be!\n"); do{ printf("\nEn quina columna vols colocar-la?\n "); scanf("%i", &col); fflush(stdin); //funcio 3 errors_col(); } while (col<=0 || col>=9); //funcio 9 lloc_ocupat(); }while(tabl[fil][col]!=' '); tabl[fil] [col]='C'; //guardem la possicio pos_fil=fil; pos_col=col; //funcio 8 mov_cavall(); system("cls"); // neteja la pantalla break; //EIXIR case 6: printf("Adeu!"); getch(); borrar_mov(); //funcio 12. system("cls"); // neteja la pantalla break; default: printf("Opcio incorrecta"); getch(); }// final del switch de fitxa break; //POSAR ELS IMPEDIMENTS case 2: do{ do{ do{ printf("\nEn quina fila vols colocar l'obstacle'?\n - "); scanf("%i", &fil); fflush(stdin); //funcio 2 errors_fil(); }while (fil<=0 || fil>=9); printf("Molt be!\n"); do{ printf("\nEn quina columna?\n - "); scanf("%i", &col); fflush(stdin); //funcio 3 errors_col(); } while (col<=0 || col>=9); //funcio 11 pieza_ocupada(); }while (tabl[fil][col]=='T' || tabl[fil][col]=='D' || tabl[fil][col]=='A' || tabl[fil][col]=='R' || tabl[fil][col]=='C'); printf("Perfecte!\n\n"); tabl[fil] [col]='#'; printf("Vols ficar un altre obstacle?\n"); printf("Indica s/n - "); scanf("%c", &sino); fflush(stdin); if(sino=='s'){ printf("Cap problema\n"); } else{ printf("Adeu!"); } }while(sino=='s'); system("cls"); // neteja la pantalla break; //ESBORRAR TAULES case 3: printf("Estas segur que ho vols borrar tot? Indica s/n \n"); scanf("%c", &sino); fflush(stdin); if (sino=='s'){ tablero_net(); } else { } system("cls"); // neteja la pantalla break; //EIXIR case 4: printf("Adeu!"); break; default: printf("Opcio incorrecta"); getch(); } //final del switch de opció }while(opcion!=4); //FINAL DEL BUCLE QUE REPETEIX EL MENU getch(); return 0; } // FINAL DEL PROGRAMA