Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private boolean checkWinDiagonalLeftToRight(int row, int col) {
- // giá trị hàng bắt đầu xét
- int rowStart = row - 4;
- // giá trị cột cuối cùng xét
- int rowEnd = row + 4;
- // giá trị cột bắt đầu xét
- int colStart = col - 4;
- // giá trị cột cuối cùng xét
- int colEnd = col + 4;
- // lấy giá trị của ô vừa đánh trong ma trận
- int value = this.MatrixPlay[row][col];
- // tạo biến đếm để đếm số giá trị liên tiếp giống nhau
- int count = 0;
- // lặp khi cột và hàng vẫn nằm trong ma trận
- while (rowStart <= rowEnd && rowStart < sizeRow && colStart <= colEnd && colStart < sizeCol) {
- // kiểm tra giá trị hàng và cột nằm trong bàn cờ
- if (rowStart >= 0 && colStart >= 0) {
- //kiểm tra trùng với giá trị của ô truyền vào.
- if (this.MatrixPlay[rowStart][colStart] == value) {
- //Tăng biến đếm lên 1.
- count++;
- } else {
- // không trùng set biến đếm về 0
- count = 0;
- }
- }
- // kiểm tra 5 quân liên tiếp giống nhau
- if (count == 5) {
- System.out.println("thắng chéo phải trái");
- // trả về giá trị true.
- return true;
- }
- // tăng hàng lên 1
- rowStart++;
- // giảm cột đi 1
- colStart++;
- }
- return false;
- }
- /**
- * Hàm kiểm tra 5 nước đi theo chiều chéo từ phải sang trái
- * @param row giá trị hàng của ô vừa đánh trong ma trận đánh
- * @param col giá trị cột của ô vừa đánh trong ma trận đánh
- * @return giá trị boolean kết quả
- */
- private boolean checkWinDiagonalRightToLeft(int row, int col) {
- // giá trị hàng bắt đầu xét
- int rowStart = row - 4;
- // giá trị cột cuối cùng xét
- int rowEnd = row + 4;
- // giá trị cột bắt đầu xét
- int colStart = col + 4;
- // giá trị cột cuối cùng xét
- int colEnd = col - 4;
- // lấy giá trị của ô vừa đánh trong ma trận
- int value = this.MatrixPlay[row][col];
- // tạo biến đếm để đếm số giá trị liên tiếp giống nhau
- int count = 0;
- // lặp khi cột và hàng vẫn nằm trong ma trận
- while (rowStart <= rowEnd && colStart >= colEnd) {
- // kiểm tra giá trị hàng và cột nằm trong bàn cờ
- if (rowStart >= 0 && colEnd >= 0 && colStart < sizeCol && rowEnd < sizeRow) {
- //kiểm tra trùng với giá trị của ô truyền vào.
- if (this.MatrixPlay[rowStart][colStart] == value) {
- //Tăng biến đếm lên 1.
- count++;
- } else {
- // không trùng set biến đếm về 0
- count = 0;
- }
- }
- // kiểm tra 5 quân liên tiếp giống nhau
- if (count == 5) {
- System.out.println("thắng chéo phải trái");
- // trả về giá trị true.
- return true;
- }
- // tăng hàng lên 1
- rowStart++;
- // giảm cột đi 1
- colStart--;
- }
- // trả về giá trị false
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement