Use Case 1 - Chơi game ( Chọn 2 biểu tượng giống nhau) Trường hợp cùng nằm trên một hàng hoặc cột TH1: Hai điểm xét cùng thuộc một hàng (đường thẳng theo trục x) TH2: Hai điểm xét cùng thuộc một cột (đường thẳng theo trục y) Với 2 TH cơ bản này thì chúng ta chỉ cần dùng vòng lặp for từ điểm đầu đến điểm cuối và kiểm tra xem đường thẳng đó có thông với nhau được không. Nếu được thì coi như xong, nếu không được ta sẽ sử dụng các TH mở rộng theo chiều ngang hoặc dọc để làm tiếp. Để xét 2 TH này chúng ta sử dụng 2 hàm là checkLineX(int y1, int y2, int x) và checkLineY(int x1, int x2, int y) tương ứng là xét theo hàng và xét theo cột. Hàm trả về true nếu đi được giữa 2 điểm, false nếu không đi được. Xét duyệt các đường đi theo chiều ngang, dọc trong phạm vi hình chữ nhật Với 2 điểm không thẳng hàng, cột thì trước tiên ta sẽ xét trong phạm vi hình chữ nhật mà 2 điểm đó tạo ra, đây là TH xét đường đi hình chữ Z. TH3: Xét duyệt các đường đi theo chiều nga...