int branch() { register int n, c; int condition; n = getint(); if((condition = get_cond()) < 0 ) return(ERROR5); if(condition == cc_reg || condition == NOT_TRUE_OR_FALSE) if(n == 0) lp = lbuff; else { while(n > 1) if((c = x_fp ? getc(x_fp) : mgetchar()) == '\n' || c == '\r' || c == EOF) --n; lp ="\n"; /* Force main to fetch a new line */ } return(OK); }
/*Legge la mossa del giocatore*/ void leggimossa() { int tasto=0; fflush(stdin); /*Se è attivo il tastierino*/ if(tastierino==1) { do { tasto=0; fflush(stdin); /*2 giocatori*/ if(scelta==2) printf("%-59s%s%s\n", GIALLO, "Fai la tua mossa:", BIANCO); else printf("%58s%s %d\n%-55s%s%s\n", GIALLO, "Gioca il giocatore", giocatore, "", "Fai la tua mossa:",BIANCO); if(os) tasto=mgetchar(); else do { tasto=getch(); } while(kbhit()); switch(tasto) { case 49: { i=2; k=0; break; } case 50: { i=2; k=1; break; } case 51: { i=2; k=2; break; } case 52: { i=1; k=0; break; } case 53: { i=1; k=1; break; } case 54: { i=1; k=2; break; } case 55: { i=0; k=0; break; } case 56: { i=0; k=1; break; } case 57: { i=0; k=2; break; } } if(tabella[i][k]==1 || tabella[i][k]==2 || i<0 || k<0 || i>=M || k>=M) { system(clear); stampa(); printf("%-59s%s%s\n\n", GRASSETTO ROSSO, "Mossa non valida, riprova.", RESET BIANCO); } } while(tabella[i][k]==1 || tabella[i][k]==2 || i<0 || k<0 || i>=M || k>=M); } /*Mossa con coordinate*/ else { do { /*Giocatore singolo*/ if(scelta==2) printf("%-63s%s\n%-40s%s%s %s%s\n", GIALLO, "Tocca a te.", "", "Inserisci coordinate della mossa", ROSSO, "[Riga,colonna]:", BIANCO); /*2 giocatori*/ else printf("%-58s%s %d\n%-40s%s %s%s%s\n", GIALLO, "Gioca il giocatore", giocatore, "", "Inserisci coordinate della mossa", ROSSO, "[Riga,colonna]:", BIANCO); scanf("%d,%d",&i,&k); if(tabella[i][k]==1 || tabella[i][k]==2 || i<0 || k<0 || i>=M || k>=M) { system(clear); stampa(); printf("\n\n%-56s%s%s\n\n\n", GRASSETTO ROSSO, "Coordinate non valide, riprova.", RESET BIANCO); } } while(tabella[i][k]==1 || tabella[i][k]==2 || i<0 || k<0 || i>=M || k>=M); system(clear); } }