- Chức năng đánh với người,
Cấu trúc thư mục:MVC
View gồm 2 lớp :
- OCo
Mô tả:Lớp này hiện thực ô cờ trên bàn cờ ,gồm thuộc tính value thể hiện giá trị của quân cờ khi được đánh trên bàn cờ ,và các thuộc tính tren duoi trai phai ,TT,TD,vv ... để thêm hình ảnh cho từng quân cờ tương ứng tạo thêm sự sinh động cho bàn cờ
Lớp Oco gồm 2 hai hàm
* ChenQuan :Hàm này sử dụng addMouseListener để bắt sự kiện click chuột trên từng ô cờ,các hàm chứa trong addMouseListener sẽ được gọi đến khi hàm chenQuan được kích hoạt
* Paint :Hàm này giúp vẽ bàn cờ ,nó không làm mà gọi tới hàm paint trong ControlView làm
Model gồm 3 lớp
- 1 lớp cha:QuanCo : Lớp này chữa các thuộc tính mà 2 lớp con sẽ thừa hưởng
- 2 lớp con QuanTrang ,QuanDen thừa hưởng các thuộc tính từ cha và hiện thực lại 2 giá trị value và image
Controller gồm 2 lớp :
- ControlView :Gồm các hàm
* paint(i,j):Vẽ lại bàn cờ
* Displayboard():Xuất giá trị ra console
* check():Kiểm tra đánh trùng
- Control:Gồm hàm :
danhCoBlack()
Hàm này có ý nghĩa khi bất kì một quân cờ nào được đánh ,biến đếm sẽ được tăng lên ,nếu biến đếm 0 hoặc biến đếm bằng số lẻ thì quân đen được đánh,ngược lại là quân trắng
Minh họa:
Model :Dùng chung Model với chức năng Đánh với máy đã giải thích ở trên
Control:Lớp ControlMay
Xử lý AI đánh với máy :
gồm các hàm duyetDoc,duyetNgang,duyetCheoXuoi,duyetCheoNguoc của công và thủ nhiệm vụ của các hàm này là tính được số điểm công dựa trên viết xét số lượng quân ta với quân địch theo các phương duyệt ,cũng như tính được số điểm thủ dựa trên viết xét số lượng quân địch với quân mình.
Tiếp theo đó hàm timKiemNuocDi() sẽ duyệt dòng for và tìm kiếm bất kì vị trí 0 nào trên bàn cờ và gọi đến các hàm duyệt này .Nếu điểm công lớn hơn thủ sẽ lấy điểm công và ngược lại ,sau đó sẽ lấy i j tại vị trí 0 có số điểm cao nhất tương ứng và lớp quanCo sẽ set lại vị trí này
Lớp DanhCo
Gồm hàm mayDanh ,hàm này sẽ gọi hàm timKiemNuocDi để lấy các vị trí set được và thêm vào hàm addQT
Minh họa:
Mô tả:Lớp này hiện thực ô cờ trên bàn cờ ,gồm thuộc tính value thể hiện giá trị của quân cờ khi được đánh trên bàn cờ ,và các thuộc tính tren duoi trai phai ,TT,TD,vv ... để thêm hình ảnh cho từng quân cờ tương ứng tạo thêm sự sinh động cho bàn cờ
Lớp Oco gồm 2 hai hàm
* ChenQuan :Hàm này sử dụng addMouseListener để bắt sự kiện click chuột trên từng ô cờ,các hàm chứa trong addMouseListener sẽ được gọi đến khi hàm chenQuan được kích hoạt
* Paint :Hàm này giúp vẽ bàn cờ ,nó không làm mà gọi tới hàm paint trong ControlView làm
Model gồm 3 lớp
- 1 lớp cha:QuanCo : Lớp này chữa các thuộc tính mà 2 lớp con sẽ thừa hưởng
- 2 lớp con QuanTrang ,QuanDen thừa hưởng các thuộc tính từ cha và hiện thực lại 2 giá trị value và image
Controller gồm 2 lớp :
- ControlView :Gồm các hàm
* paint(i,j):Vẽ lại bàn cờ
* Displayboard():Xuất giá trị ra console
* check():Kiểm tra đánh trùng
- Control:Gồm hàm :
danhCoBlack()
Hàm này có ý nghĩa khi bất kì một quân cờ nào được đánh ,biến đếm sẽ được tăng lên ,nếu biến đếm 0 hoặc biến đếm bằng số lẻ thì quân đen được đánh,ngược lại là quân trắng
Minh họa:
- Chức năng đánh với máy:
View gồm 2 lớp
- ManHinhDanhVoiMay
Mô tả :Giao diện đánh với máy
OcoMay:
Mô tả:Lớp này hiện thực ô cờ trên bàn cờ ,gồm thuộc tính value thể hiện giá trị của quân cờ khi được đánh trên bàn cờ ,và các thuộc tính tren duoi trai phai ,TT,TD,vv ... để thêm hình ảnh cho từng quân cờ tương ứng tạo thêm sự sinh động cho bàn cờ
Lớp Oco gồm 2 hai hàm
* ChenQuan :Hàm này sử dụng addMouseListener để bắt sự kiện click chuột trên từng ô cờ,các hàm chứa trong addMouseListener sẽ được gọi đến khi hàm chenQuan được kích hoạt
Lớp Oco gồm 2 hai hàm
* ChenQuan :Hàm này sử dụng addMouseListener để bắt sự kiện click chuột trên từng ô cờ,các hàm chứa trong addMouseListener sẽ được gọi đến khi hàm chenQuan được kích hoạt
Paint(i,j) :Hàm này giúp vẽ bàn cờ nó không làm mà gọi tới hàm paint trong ControlView làm
Model :Dùng chung Model với chức năng Đánh với máy đã giải thích ở trên
Control:Lớp ControlMay
Xử lý AI đánh với máy :
gồm các hàm duyetDoc,duyetNgang,duyetCheoXuoi,duyetCheoNguoc của công và thủ nhiệm vụ của các hàm này là tính được số điểm công dựa trên viết xét số lượng quân ta với quân địch theo các phương duyệt ,cũng như tính được số điểm thủ dựa trên viết xét số lượng quân địch với quân mình.
Tiếp theo đó hàm timKiemNuocDi() sẽ duyệt dòng for và tìm kiếm bất kì vị trí 0 nào trên bàn cờ và gọi đến các hàm duyệt này .Nếu điểm công lớn hơn thủ sẽ lấy điểm công và ngược lại ,sau đó sẽ lấy i j tại vị trí 0 có số điểm cao nhất tương ứng và lớp quanCo sẽ set lại vị trí này
Lớp DanhCo
Gồm hàm mayDanh ,hàm này sẽ gọi hàm timKiemNuocDi để lấy các vị trí set được và thêm vào hàm addQT
Minh họa:
Nhận xét
Đăng nhận xét