Sistemato il codice

Reso il codice più leggibile;
Sistemati i commenti;
Sistemati alcuni errori di endentation.
This commit is contained in:
Rnhmjoj 2012-11-18 19:50:58 +01:00
parent b8ae67f100
commit d9b13c8c25

207
main.c
View File

@ -1,11 +1,12 @@
#include "tris.h" #include "tris.h"
int main (){ int main (){
int vittoria; int vittoria;
int difficolta; int difficolta;
do{ do{
giocatore=1,vittoria=0; giocatore=1,vittoria=0;
scelta=0,difficolta=0,mossa=0; scelta=0,difficolta=0,mossa=0;
system(clear); //menu d'inizio /*Menu d'inizio*/
system(clear);
printf(SOTTOLINEATO GIALLO"\n Tris in stile C \n\n" RESET BIANCO); printf(SOTTOLINEATO GIALLO"\n Tris in stile C \n\n" RESET BIANCO);
printf(ROSSO " [1]"RESET BIANCO" Partita con 2 giocatori\n"); printf(ROSSO " [1]"RESET BIANCO" Partita con 2 giocatori\n");
printf(ROSSO " [2]"RESET BIANCO" Partita singolo giocatore\n"); printf(ROSSO " [2]"RESET BIANCO" Partita singolo giocatore\n");
@ -16,28 +17,35 @@ int main (){
printf(ROSSO " [4]"RESET BIANCO" Informazioni\n"); printf(ROSSO " [4]"RESET BIANCO" Informazioni\n");
printf(ROSSO " [5]"RESET BIANCO" Esci\n"); printf(ROSSO " [5]"RESET BIANCO" Esci\n");
scanf("%d",&scelta); scanf("%d",&scelta);
switch(scelta) { switch(scelta){
/*case per la partita con 2 giocatori*/
case 1:{ //case per la partita con 2 giocatori case 1:{
vuota(); /*Vuota la tabella, pulisce lo schermo e la stampa*/
system(clear); vuota();
stampa(); system(clear);
do{ //ciclo che contiene la partita. dura fino alla vittoria stampa();
leggimossa(); //richiama la funzione che legge la mossa /*ciclo che contiene la partita. Dura fino alla vittoria*/
system(clear); do{
mossa++; //conteggio delle mossa,assegnazione del simbolo alle coordinate scelte e stampa della tabella /*Legge la mossa del giocatore*/
tabella[i][k]=giocatore; leggimossa();
stampa(); system(clear);
if (controlla(1)){ //richiama la funzione controlla che verifica se qualcuno ha vinto /*Conteggio delle mosse, assegnazione del simbolo alle coordinate scelte e stampa della tabella*/
vittoria=1; mossa++;
break; tabella[i][k]=giocatore;
stampa();
/*Controlla se il giocatore ha vinto*/
if(controlla(1)){
vittoria=1;
break;
} }
if(giocatore==1) //cambia il turno del giocatore /*cambia il turno del giocatore*/
giocatore=2; if(giocatore==1)
else giocatore=2;
giocatore=1; else
giocatore=1;
} }
while(!vittoria && mossa<M*M); while(!vittoria && mossa<M*M);
/*Stampa il risultato della partita, mette in pausa, rompe lo switch e ritorna al menu*/
if((!controlla(1))&&(!controlla(2))){ if((!controlla(1))&&(!controlla(2))){
printf(ROSSO " Pareggio.\n"); printf(ROSSO " Pareggio.\n");
pausa(); pausa();
@ -45,38 +53,44 @@ int main (){
else{ else{
printf(ROSSO " Partita terminata.\n Ha vinto il giocatore %d.\n\n",giocatore); printf(ROSSO " Partita terminata.\n Ha vinto il giocatore %d.\n\n",giocatore);
pausa(); pausa();
} //stampa il risultato della partita, richiama la funzione pausa, rompe lo switch e ritorna al menu }
break; break;
} }
case 2:{ //case che contiene la partita singolo giocatore /*Case che contiene la partita singolo giocatore*/
vuota(); case 2:{
system(clear); vuota();
do{ //ciclo per scegliere la difficolta del gioco system(clear);
if(!os) /*ciclo per scegliere la difficolta del gioco*/
printf(SOTTOLINEATO GIALLO"\n Scegli la difficolt%c:\n\n"RESET BIANCO ,133); do{
else if(!os)
printf(SOTTOLINEATO GIALLO"\n Scegli la difficoltà: \n\n" RESET BIANCO); printf(SOTTOLINEATO GIALLO"\n Scegli la difficolt%c:\n\n"RESET BIANCO ,133);
printf(ROSSO " [1]"RESET BIANCO" Facile\n "ROSSO"[2]"RESET BIANCO" Medio\n "ROSSO"[3]"RESET BIANCO" Difficile\n"); else
scanf("%d",&difficolta); printf(SOTTOLINEATO GIALLO"\n Scegli la difficoltà: \n\n" RESET BIANCO);
if(difficolta<1||difficolta>3) printf(ROSSO" [1]"RESET BIANCO" Facile\n");
printf(GRASSETTO ROSSO"\n Scelta non valida.\n\n" RESET BIANCO); printf(ROSSO" [2]"RESET BIANCO" Medio\n");
}while(difficolta<1||difficolta>3); printf(ROSSO" [3]"RESET BIANCO" Difficile\n"); scanf("%d",&difficolta);
system(clear); if(difficolta<1||difficolta>3)
stampa(); printf(GRASSETTO ROSSO"\n Scelta non valida.\n\n" RESET BIANCO);
do{ //ciclo che contiene la partita fino alla vittoria/pareggio }while(difficolta<1||difficolta>3);
if (giocatore==1){ system(clear);
leggimossa(); //richiama la funzione che legge la mossa stampa();
tabella[i][k]=1; /*Ciclo che contiene la partita fino alla vittoria o al pareggio*/
system(clear); do{
stampa(); /*Turno del giocatore umano*/
aspetta(1); if(giocatore==1){
} leggimossa();
else{ //turno del computer tabella[i][k]=1;
system(clear); system(clear);
printf(ROSSO"\n Gioco io ora...\n" RESET BIANCO); stampa();
spinner(1); aspetta(1);
switch(difficolta){ //switch che contiene la mossa del computer }
//richiama le funzione in base alla difficoltà /*Turno del computer*/
else{
system(clear);
printf(ROSSO"\n Gioco io ora...\n" RESET BIANCO);
spinner(1);
/*switch che contiene la mossa del computer in base alla difficolta scelta*/
switch(difficolta){
case 1:{ case 1:{
facile(); facile();
break; break;
@ -95,42 +109,41 @@ int main (){
aspetta(2); aspetta(2);
system(clear); system(clear);
} }
mossa++; //conteggio delle mossa,assegnazione del simbolo alle coordinate scelte e stampa della tabella /*Conteggio delle mosse, assegnazione del simbolo alle coordinate scelte e stampa della tabella*/
stampa(); mossa++;
if (controlla(1)||controlla(2)){ //richiama la funzione controlla che verifica se qualcuno ha vinto stampa();
vittoria=1; /*Controlla se qualcuno ha vinto*/
break; if(controlla(1)||controlla(2)){
vittoria=1;
break;
} }
if(giocatore==1){ //cambia il turno del giocatore /*Cambia il turno del giocatore*/
giocatore=2; if(giocatore==1)
} giocatore=2;
else { else
giocatore=1; giocatore=1;
} }
} while(!vittoria && mossa<M*M);
while(!vittoria && mossa<M*M); system(clear);
system(clear); stampa();
stampa();
printf(ROSSO); printf(ROSSO);
if((!controlla(1) && !controlla(2)) && difficolta==1) /*Stampa il risultato della partita, mette in pausa, rompe lo switch e ritorna al menu*/
printf(" Pareggio, potevi fare di meglio.\n\n"); if((!controlla(1) && !controlla(2)) && difficolta==1)
printf(" Pareggio, potevi fare di meglio.\n\n");
else{ else{
if((!controlla(1) && !controlla(2)) && difficolta==2) if((!controlla(1) && !controlla(2)) && difficolta==2)
printf(" Pareggio, ci eri quasi, riprova...\n\n"); printf(" Pareggio, ci eri quasi, riprova...\n\n");
else{
else{ if((!controlla(1) && !controlla(2)) && difficolta==3){
if((!controlla(1) && !controlla(2)) && difficolta==3){ if(!os)
if(!os) printf(" Pareggio, ti %c andata gi%c bene...\n\n",138,133);
printf(" Pareggio, ti %c andata gi%c bene...\n\n",138,133); else
else printf(" Pareggio, ti è andata già bene...\n\n");
printf(" Pareggio, ti è andata già bene...\n\n");
} }
} }
} }
if(controlla(2) && difficolta==1) if(controlla(2) && difficolta==1)
printf(" Hai perso. Ti sei fatto battere da delle mosse pseudocasuali, complimenti.\n\n"); printf(" Hai perso. Ti sei fatto battere da delle mosse pseudocasuali, complimenti.\n\n");
else { else {
if(controlla(2) && difficolta==2) if(controlla(2) && difficolta==2)
printf(" Hai perso. Dai... lo potevi battere.\n\n"); printf(" Hai perso. Dai... lo potevi battere.\n\n");
@ -157,17 +170,18 @@ int main (){
printf(" Sei vedi questo messaggio sicuramente c'%c qualcosa che non va.\n\n",138); printf(" Sei vedi questo messaggio sicuramente c'%c qualcosa che non va.\n\n",138);
else else
printf(" Sei vedi questo messaggio sicuramente c'è qualcosa che non va.\n\n"); printf(" Sei vedi questo messaggio sicuramente c'è qualcosa che non va.\n\n");
} }
} }
} }
pausa(); pausa();
break; break;
} //stampa del risultato della partita,esce dallo switch e ritorna al menu }
case 3: { case 3:{
system(clear); //case per le modalità di input /*Case per la scelta delle modalità di input*/
do{ system(clear);
system(clear); do{
printf("\n Vuoi usare il tastierino numerico o le coordinate"ROSSO"[T,C]"RESET BIANCO"?\n"); system(clear);
printf("\n Vuoi usare il tastierino numerico o le coordinate"ROSSO"[T,C]"RESET BIANCO"?\n");
scanf("\n%c",&a); scanf("\n%c",&a);
}while(a!='T' && a!='C' && a!='t' && a!='c'); }while(a!='T' && a!='C' && a!='t' && a!='c');
if(a=='T'||a=='t') if(a=='T'||a=='t')
@ -205,7 +219,8 @@ int main (){
break; break;
} }
case 4:{ case 4:{
system(clear); //case per l'about /*About*/
system(clear);
printf(SOTTOLINEATO GIALLO"\n Tris in stile C \n\n" RESET BIANCO); printf(SOTTOLINEATO GIALLO"\n Tris in stile C \n\n" RESET BIANCO);
if (!os) if (!os)
printf("\n Questo gioco %c stato sviluppato da Michele Guerini Rocco in una fredda notte \n di premiazioni e sistemato per l'intero anno successivo.\n\n",138); printf("\n Questo gioco %c stato sviluppato da Michele Guerini Rocco in una fredda notte \n di premiazioni e sistemato per l'intero anno successivo.\n\n",138);