GAME
Minsweeper
WELCOME TO OUR
PRESENTATION
ABOUT GAME
Dò mìn hay gỡ bom là một trò chơi giải đố trên máy tính dành cho một người chơi. Trò chơi bao
gồm một "bãi mìn" là những ô vuông có thể chứa "mìn", và người chơi cần phải dựa vào những
con số thể hiện số mìn xung quanh để mở hết tất cả những ô vuông trống mà không kích nổ quả
mìn nào. Trò chơi được xây dựng như một chương trình giải trí cài đặt trên hệ điều hành
Microsoft Windows. Ngoài Windows, trò chơi còn có trong Linux như KMines và gnomine. Nhờ
quy luật đơn giản, nhiều biến thể của trò chơi cũng được phát hành như Dò mìn 3D,
Minesweeper X, và Crossmines.
THE GAME'S
ALGORITHM
Thuật toán Flood Fill (Lan truyền)
01
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut Thuật toán Phân phối mìn ngẫu nhiên (Random
enim ad minim veniam, quis nostrud 02 Mine Distribution)
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut
Thuật toán Duyệt ma trận (Matrix Traversal for
enim ad minim veniam, quis nostrud 03
Counting Mines)
exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
THUẬT TOÁN PHÂN PHỐI MÌN
NGẪU NHIÊN (RANDOM MINE
DISTRIBUTION)
Định nghĩa: Đây là thuật toán dùng để phân
01 phối các mìn một cách ngẫu nhiên trên lưới của
trò chơi khi bắt đầu. Trò chơi sẽ chọn các vị trí
trên lưới bằng cách sử dụng hàm sinh số ngẫu
nhiên cho đến khi đủ số lượng mìn cần thiết.
Cách hoạt động:
Xác định số lượng mìn cần có trong lưới.
Sinh các số ngẫu nhiên tương ứng với các vị trí trong
02 lưới (hàng và cột).
Đảm bảo rằng không có vị trí nào bị trùng lặp cho
đến khi đạt đủ số mìn.
THUẬT TOÁN FLOOD FILL
(LAN TRUYỀN)
Định nghĩa: Khi người chơi nhấp vào một ô không có mìn,
01 thuật toán này sẽ mở tất cả các ô lân cận không có mìn hoặc
các ô chứa số 0 (không có mìn xung quanh). Quá trình tiếp
tục lan tỏa cho đến khi gặp phải các ô chứa số.
Cách hoạt động:
02 Bắt đầu từ ô được nhấp.
Nếu ô đó là số 0, thuật toán sẽ duyệt qua các ô lân cận theo
chiều sâu hoặc chiều rộng để mở các ô không có mìn hoặc số
0.
Dừng lại khi gặp các ô chứa số (có mìn xung quanh).
Sử dụng đệ quy hoặc vòng lặp để thực hiện mở các ô liền kề.
THUẬT TOÁN DUYỆT MA TRẬN
(MATRIX TRAVERSAL FOR
COUNTING MINES)
Định nghĩa: Đây là thuật toán được sử dụng để tính toán
số mìn xung quanh mỗi ô trong lưới. Sau khi phân phối
01 mìn, thuật toán này sẽ duyệt qua từng ô và đếm xem có
bao nhiêu mìn trong 8 ô xung quanh.
Cách hoạt động:
Duyệt qua từng ô trong lưới.
Với mỗi ô, kiểm tra 8 ô lân cận (trên, dưới, trái, phải, 4 góc chéo).
02 Nếu có mìn trong một trong các ô lân cận, tăng bộ đếm.
Lưu kết quả vào ô hiện tại để hiển thị cho người chơi khi ô đó được
mở.
THANK
YOU