Advertisement
Guest User

Untitled

a guest
Feb 4th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. int CPUMove(char player, int lvl) {
  2.     //gdy zaczyna sie tura cpu zmienna actualPlayer == 'x'
  3.     int counter = 0, w, k;
  4.    
  5.     for(int i = 0; i < 3; i++)
  6.         for(int j = 0; j < 3; j++)
  7.             if (game[i][j] == '-') {
  8.                 game[i][j] = player;
  9.                 cout << player; system("pause");
  10.                 w = i; k = j;
  11.                 counter++;
  12.                
  13.                 bool winTest = CheckWin();
  14.                 game[i][j] = '-';
  15.                 if (winTest) {
  16.                     if (!lvl) {
  17.                         cpuX = i;
  18.                         cpuY = j;
  19.                     }
  20.                     return player == 'o' ? -1 : 1;
  21.                 }
  22.             }
  23.    
  24.     if (counter == 1) {
  25.         if(!lvl) {
  26.             cpuX = w;
  27.             cpuY = k;
  28.         }
  29.         return 0;          
  30.     }
  31.    
  32.     int v;
  33.     int vmax;
  34.      
  35.     vmax = player == 'o' ? 2 : -2;
  36.      
  37.     for(int i = 0; i < 3; i++)
  38.         for(int j = 0; j < 3; j++)
  39.         if(game[i][j] == ' ') {
  40.             game[i][j] = player;
  41.             v = CPUMove(player == 'o' ? 'x' : 'o', lvl + 1);
  42.             game[i][j] = ' ';
  43.    
  44.             if(((player == 'o') && (v < vmax)) || ((player == 'x') && (v > vmax))) {
  45.               vmax = v; w = i; k = j;
  46.             }
  47.         }
  48.          
  49.         if(!lvl) {
  50.             cpuX = w;
  51.             cpuY = k;
  52.         }
  53.        return vmax;            
  54. }
  55.  
  56. //wywolanie funkcji gdzies w mainie
  57. CPUMove(actualPlayer == 'x' ? 'x' : 'o', 0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement