SHARE
TWEET

Untitled

a guest Jun 19th, 2019 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. private boolean checkWinDiagonalLeftToRight(int row, int col) {
  2.        
  3.         // giá trị hàng bắt đầu xét
  4.         int rowStart = row - 4;
  5.         // giá trị cột cuối cùng xét
  6.         int rowEnd = row + 4;
  7.         // giá trị cột bắt đầu xét
  8.         int colStart = col - 4;
  9.         // giá trị cột cuối cùng xét
  10.         int colEnd = col + 4;
  11.         // lấy giá trị của ô vừa đánh trong ma trận
  12.         int value = this.MatrixPlay[row][col];
  13.         // tạo biến đếm để đếm số giá trị liên tiếp giống nhau
  14.         int count = 0;
  15.         // lặp khi cột và hàng vẫn nằm trong ma trận
  16.         while (rowStart <= rowEnd && rowStart < sizeRow && colStart <= colEnd && colStart < sizeCol) {
  17.             // kiểm tra giá trị hàng và cột nằm trong bàn cờ
  18.             if (rowStart >= 0 && colStart >= 0) {
  19.                 //kiểm tra trùng với giá trị của ô truyền vào.
  20.                 if (this.MatrixPlay[rowStart][colStart] == value) {
  21.                     //Tăng biến đếm lên 1.
  22.                     count++;
  23.                 } else {
  24.                     // không trùng set biến đếm về 0
  25.                     count = 0;
  26.                 }
  27.             }
  28.             // kiểm tra 5 quân liên tiếp giống nhau
  29.             if (count == 5) {
  30.                 System.out.println("thắng chéo phải trái");
  31.                 // trả về giá trị true.
  32.                 return true;
  33.             }
  34.             // tăng hàng lên 1
  35.             rowStart++;
  36.             // giảm cột đi 1
  37.             colStart++;
  38.         }
  39.         return false;
  40.     }
  41.     /**
  42.      * Hàm kiểm tra 5 nước đi theo chiều chéo từ phải sang trái
  43.      * @param row giá trị hàng của ô vừa đánh trong ma trận đánh
  44.      * @param col giá trị cột của ô vừa đánh trong ma trận đánh
  45.      * @return giá trị boolean kết quả
  46.      */
  47.     private boolean checkWinDiagonalRightToLeft(int row, int col) {
  48.        
  49.         // giá trị hàng bắt đầu xét
  50.         int rowStart = row - 4;
  51.         // giá trị cột cuối cùng xét
  52.         int rowEnd = row + 4;
  53.         // giá trị cột bắt đầu xét
  54.         int colStart = col + 4;
  55.         // giá trị cột cuối cùng xét
  56.         int colEnd = col - 4;
  57.         // lấy giá trị của ô vừa đánh trong ma trận
  58.         int value = this.MatrixPlay[row][col];
  59.         // tạo biến đếm để đếm số giá trị liên tiếp giống nhau
  60.         int count = 0;
  61.         // lặp khi cột và hàng vẫn nằm trong ma trận
  62.         while (rowStart <= rowEnd && colStart >= colEnd) {
  63.             // kiểm tra giá trị hàng và cột nằm trong bàn cờ
  64.             if (rowStart >= 0 && colEnd >= 0 && colStart < sizeCol && rowEnd < sizeRow) {
  65.                 //kiểm tra trùng với giá trị của ô truyền vào.
  66.                 if (this.MatrixPlay[rowStart][colStart] == value) {
  67.                     //Tăng biến đếm lên 1.
  68.                     count++;
  69.                 } else {
  70.                     // không trùng set biến đếm về 0
  71.                     count = 0;
  72.                 }
  73.             }
  74.             // kiểm tra 5 quân liên tiếp giống nhau
  75.             if (count == 5) {
  76.                 System.out.println("thắng chéo phải trái");
  77.                 // trả về giá trị true.
  78.                 return true;
  79.             }
  80.             // tăng hàng lên 1
  81.             rowStart++;
  82.             // giảm cột đi 1
  83.             colStart--;
  84.         }
  85.         // trả về giá trị false
  86.         return false;
  87.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top