Advertisement
Guest User

Untitled

a guest
May 21st, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void stampaMatrice (char T[3][3]){ //stampaMatrice funzionante stampaMatrice(T);
  5. int i, j;
  6. for (i = 0; i < 3; i++){
  7. for (j = 0; j < 3; j++){
  8. printf("%c ", T[j][i]);
  9. };
  10. printf(" %d\n", i+1); //Ricordarsi che somma 1, quindi quando si dovranno prendere le cordinate si dovrà sottrarre uno
  11. }
  12. printf("\nA B C\n");
  13. }
  14.  
  15.  
  16.  
  17. void inserimentoCoordinate(int Coordinate[2]){ //inserimentoCoordinate funzionante inserimentoCoordinate(Coordinate)
  18. char Lettera;
  19. do{
  20. printf("\nInserire la coordinata orizzontale, cioè A, B o C!\n");
  21. scanf("%c", &Lettera);
  22. switch(Lettera){
  23. case 'a':
  24. case 'A': Coordinate[0]=0;
  25. break;
  26. case 'b':
  27. case 'B': Coordinate[1]=1;
  28. break;
  29. case 'c':
  30. case 'C': Coordinate[2]=2;
  31. break;
  32. }
  33. }
  34. while(!((Coordinate[0]>=0)&&(Coordinate[0]<=2)));
  35. do{
  36. printf("Inserire la coordinata verticale, cioè 1, 2 o 3!\n");
  37. scanf("%d", &Coordinate[1]);
  38. Coordinate[1]=Coordinate[1]-1;
  39. }
  40. while(!((Coordinate[1]<3)&&(Coordinate[1]>=0)));
  41. }
  42.  
  43. void trascrizioneCoordinate(int Coordinate[2], char T[3][3], int Player){ //trascrizioneCoordinate funzionante trascrizioneCoordinate(Coordinate, T, Player)
  44. if(T[Coordinate[0]][Coordinate[1]]=='0')
  45. T[Coordinate[0]][Coordinate[1]]=Player;
  46. else
  47. printf("La coordinata inserita è già stata selezionata da un altro giocatore!\n");
  48. }
  49.  
  50. int controlloVittoria(char T[3][3], int Player, int CondizioneDiVittoria){
  51. int i;
  52. for (i = 0;(i < 13)&&(CondizioneDiVittoria==0); i++) //Cominciare a fare i 12 controlli.
  53. {
  54. 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){
  55. printf("Il giocatore 2 ha vinto!");
  56. CondizioneDiVittoria=2;}
  57. 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){
  58. printf("Il giocatore 1 ha vinto!");
  59. CondizioneDiVittoria=1;}
  60. }
  61. }
  62.  
  63.  
  64.  
  65.  
  66.  
  67. int main (){
  68. char T[3][3]={{'0','0','0'},
  69. {'0','0','0'},
  70. {'0','0','0'},};
  71. int Coordinate[2]={-1};
  72. int Player=0, CondizioneDiVittoria=0, i=0;
  73. printf("Benvenuti al gioco del tris!\nChi vuole iniziare? Giocatore 1 o Giocatore 2?\n");
  74. do{
  75. scanf("%d", &Player);
  76. switch (Player){
  77. case 1: printf("Il giocatore 1 comincia la partita!\n"); //Giocatore 1: X
  78. break;
  79. case 2:
  80. printf("Il giocatore 2 comincia la partita!\n"); //Giocatore 2: O
  81. break;
  82. default: printf("Non è stato inserito un giocatore valido! Giocatore 1 o giocatore 2?\n");
  83. break;
  84. }
  85. }
  86. while(!((Player==2)||(Player==1)));
  87. if(Player==1)
  88. Player=88;
  89. else
  90. Player=79;
  91. for (i = 0; (i < 9)&&(CondizioneDiVittoria==0); i++){
  92. stampaMatrice(T);
  93. inserimentoCoordinate(Coordinate);
  94. trascrizioneCoordinate(Coordinate, T, Player);
  95. controlloVittoria(T, Player, CondizioneDiVittoria);
  96. stampaMatrice(T);};
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement