chúc anh thức tới 23h59'59''
Thảo luậnThuật toán game Dò mìn (Tìm boom)
Nhân dịp thanh niên Hạnh Phúc Ảo khơi gợi lại thì đem ra thảo luận cùng anh em thích tìm hiểu các thuật toán, mục đích nhằm nâng cao tư duy trong lập trình.
Game Dò mìn là gì?
Nhiệm vụ: Trong Dò mìn, người chơi phải mở được tất cả các ô không có mìn trên một bảng ô vuông được rải mìn ngẫu nhiên.
Cách chơi:
- Người chơi khởi đầu với một bảng ô vuông trống thể hiện "bãi mìn".
- Mở một ô vuông trong bảng, nếu trúng ô có mìn thì trò chơi kết thúc, nếu không thì ô đó sẽ mở ra với một con số - chính là số mìn trong các ô lân cận ô đó.
- Nếu chắc chắn một ô có mìn, người chơi đánh dấu vào ô đó để tránh mở nhầm.
- Trò chơi kết thúc với phần thắng dành cho người chơi nếu mở được tất cả các ô không có mìn.
Cách viết game
Bước 1: khởi tạo bãi mìn với kích thước và số lượng mìn cho trước. Bước này dùng hàm for và một logic tùy ý để gán boom vào các ô một cách ngẫu nhiên.
Bước 2: tính số mìn ở xung quanh mỗi ô không có mìn.
Bước 3: các hàm xử lý khi người chơi mở trúng ô có mìn và không có mìn.
Mỗi bước sử dụng một thuật toán hoàn toàn khác nhau. Mọi người cùng thảo luận nhé!
Phải nói dùng NNLT gì chứ :yaoming:
tạo các ô rand rải mìn. từ các ô có mìn cộng dồn lên các ô xung quanh mà không phải là mìn. viết func check. ez code ![]()
Dùng mảng 2 chiều lập bãi mìn, rãi random, khi click vào ô nào ô đó sẽ chứa tạo độ của mìn trong mảng, xem toạ độ đó trong mảng có mìn không, nếu không thì xét theo các phần tử xung quanh nó rồi đưa ra số mìn. ez code ![]()
![[OFF]](/assets/images/off.gif)
![[IMAGE]](http://i.imgur.com/U5br8bEh.png)