Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- void stampaMatrice (char T[3][3]){ //stampaMatrice funzionante stampaMatrice(T);
- int i, j;
- for (i = 0; i < 3; i++){
- for (j = 0; j < 3; j++){
- printf("%c ", T[j][i]);
- };
- printf(" %d\n", i+1); //Ricordarsi che somma 1, quindi quando si dovranno prendere le cordinate si dovrà sottrarre uno
- }
- printf("\nA B C\n");
- }
- void inserimentoCoordinate(int Coordinate[2]){ //inserimentoCoordinate funzionante inserimentoCoordinate(Coordinate)
- char Lettera;
- do{
- printf("\nInserire la coordinata orizzontale, cioè A, B o C!\n");
- scanf("%c", &Lettera);
- switch(Lettera){
- case 'a':
- case 'A': Coordinate[0]=0;
- break;
- case 'b':
- case 'B': Coordinate[1]=1;
- break;
- case 'c':
- case 'C': Coordinate[2]=2;
- break;
- }
- }
- while(!((Coordinate[0]>=0)&&(Coordinate[0]<=2)));
- do{
- printf("Inserire la coordinata verticale, cioè 1, 2 o 3!\n");
- scanf("%d", &Coordinate[1]);
- Coordinate[1]=Coordinate[1]-1;
- }
- while(!((Coordinate[1]<3)&&(Coordinate[1]>=0)));
- }
- void trascrizioneCoordinate(int Coordinate[2], char T[3][3], int Player){ //trascrizioneCoordinate funzionante trascrizioneCoordinate(Coordinate, T, Player)
- if(T[Coordinate[0]][Coordinate[1]]=='0')
- T[Coordinate[0]][Coordinate[1]]=Player;
- else
- printf("La coordinata inserita è già stata selezionata da un altro giocatore!\n");
- }
- int controlloVittoria(char T[3][3], int Player, int CondizioneDiVittoria){
- int i;
- for (i = 0;(i < 13)&&(CondizioneDiVittoria==0); i++) //Cominciare a fare i 12 controlli.
- {
- if(((T[0][0]+T[0][1]+T[0][2])||(T[0][0]+T[1][0]+T[2][0])||(T[0][0]+T[1][1]+T[2][2])||(T[2][0]+T[1][1]+T[0][2]))==237){
- printf("Il giocatore 2 ha vinto!");
- CondizioneDiVittoria=2;}
- if(((T[0][0]+T[0][1]+T[0][2])||(T[0][0]+T[1][0]+T[2][0])||(T[0][0]+T[1][1]+T[2][2])||(T[2][0]+T[1][1]+T[0][2]))==264){
- printf("Il giocatore 1 ha vinto!");
- CondizioneDiVittoria=1;}
- }
- }
- int main (){
- char T[3][3]={{'0','0','0'},
- {'0','0','0'},
- {'0','0','0'},};
- int Coordinate[2]={-1};
- int Player=0, CondizioneDiVittoria=0, i=0;
- printf("Benvenuti al gioco del tris!\nChi vuole iniziare? Giocatore 1 o Giocatore 2?\n");
- do{
- scanf("%d", &Player);
- switch (Player){
- case 1: printf("Il giocatore 1 comincia la partita!\n"); //Giocatore 1: X
- break;
- case 2:
- printf("Il giocatore 2 comincia la partita!\n"); //Giocatore 2: O
- break;
- default: printf("Non è stato inserito un giocatore valido! Giocatore 1 o giocatore 2?\n");
- break;
- }
- }
- while(!((Player==2)||(Player==1)));
- if(Player==1)
- Player=88;
- else
- Player=79;
- for (i = 0; (i < 9)&&(CondizioneDiVittoria==0); i++){
- stampaMatrice(T);
- inserimentoCoordinate(Coordinate);
- trascrizioneCoordinate(Coordinate, T, Player);
- controlloVittoria(T, Player, CondizioneDiVittoria);
- stampaMatrice(T);};
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement