Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.61 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  6.  
  7. void rysowanie(char tablica[3][3]){
  8.     int i,x,y,a;
  9.  
  10.     for(i=0;i<3;i++){
  11.         for(x=0;x<3;x++){
  12.             tablica[i][x]='-';
  13.         }
  14.     }
  15.     for(y=0;y<3;y++){
  16.         for(a=0;a<3;a++){
  17.             printf("%c",tablica[y][a]);
  18.         }
  19.         printf("\n");
  20.  
  21.     }
  22. }
  23. void wykaz(char tab[3][3]){
  24.     int i,z;
  25.     for(i=0;i<3;i++){
  26.         for(z=0;z<3;z++){
  27.             printf("%c",tab[i][z]);
  28.         }
  29.         printf("\n");
  30.     }
  31.  
  32. }
  33.  
  34. int ruch_gracza(char tablica[3][3]){
  35.     int i, j;
  36.     printf("Podaj wiersz i kolumne w ktorej chcesz wstawic krzyzyk\n");
  37.  
  38.     scanf("%d %d", &i, &j);
  39.  
  40.     if(tablica[i][j]=='-') tablica[i][j]='X';
  41.     else{
  42.         printf("To pole jest juz zajete. Wybierz inne\n");
  43.         ruch_gracza(tablica);
  44.     }
  45. }
  46.  
  47. char sprawdzenie(char tablica[3][3]){
  48.     int i,x;
  49.     char wynik;
  50.  
  51.  
  52.     /// SPRAWDZANIE W PIONIE ////
  53.     for(i=0;i<3;i++){
  54.  
  55.     if((tablica[i][0]!='-')&&(tablica[i][0]==tablica[i][1])&&(tablica[i][1]==tablica[i][2]))
  56.  
  57.             return tablica[i][0];
  58.         }
  59.  
  60.     /// SPRAWDZANIE W POZIOMIE ////
  61.     for(x=0;x<3;x++){
  62.         if((tablica[0][x]!='-')&&(tablica[0][x]==tablica[1][x])&&(tablica[1][x]==tablica[2][x])){
  63.  
  64.             return tablica[0][x];
  65.         }
  66.     }
  67.  
  68.     ///SPRAWDZENIE NA SKOS////
  69.     if(tablica[0][0]!='-' && tablica[0][0]==tablica[1][1] && tablica[2][2]==tablica[1][1]) {
  70.  
  71.         return tablica[0][0];
  72.     }
  73.  
  74.     if(tablica[0][2]!='-' && tablica[0][2]==tablica[1][1] && tablica[1][1]==tablica[2][0]) {
  75.  
  76.         return tablica[0][2];
  77.     }
  78. }
  79.  
  80. void ruch_komputera(char tablica[3][3]){
  81.  
  82.     srand(time(NULL));
  83.     int i=-1;
  84.     int x=-1;
  85.  
  86.     while(tablica[i][x]!='O'){
  87.         i=rand()%3;
  88.         x=rand()%3;
  89.         if(tablica[i][x]=='-' && tablica[i][x]!='O') tablica[i][x]='O';
  90.     }
  91. }
  92.  
  93.  
  94. int main(int argc, char *argv[]) {
  95.  
  96.     char tablica[3][3];
  97.     char wynik;
  98.     int i = 0;
  99.  
  100.     printf("\t\t\t WITAJ W GRZE !!! \n");
  101.  
  102.     rysowanie(tablica);
  103.  
  104.     while(i<9){
  105.  
  106.         ruch_gracza(tablica);
  107.         printf("GRACZ: \n");
  108.         wykaz(tablica);
  109.         wynik = sprawdzenie(tablica);
  110.  
  111.         if(wynik == 'X')
  112.         {
  113.             printf("Brawo wygral X");
  114.             break;
  115.         }
  116.  
  117.         ruch_komputera(tablica);
  118.         printf("KOMPUTER: \n");
  119.         wykaz(tablica);
  120.         wynik = sprawdzenie(tablica);
  121.  
  122.         if(wynik == 'O')
  123.         {
  124.             printf("Brawo wygral O");
  125.             break;
  126.         }
  127.  
  128.         i++;
  129.     }
  130.  
  131.     if (i==8) printf("REMIS\n");
  132.  
  133.     return 0;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement