BÁO CÁO BÀI T*P L*N
Download
Report
Transcript BÁO CÁO BÀI T*P L*N
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA CÔNG NGHỆ THÔNG T IN
BÁO CÁO BÀI TẬP LỚN
TRÍ TUỆ NHÂN TẠO
Gv hướng dẫn:
Ts. Lê Thanh Hương
Nhóm thực hiên:
Nguyễn Đình Minh
Vũ Mạnh Thiên
Tô Thị Thuần
Phan Huy Tùng
Lớp:
Tin 2 – K50
Nội dung
1. Giới thiệu
2. Xây dựng trò chơi dò mìn
3. Xây dựng c/n trợ giúp
4. Kết quả đạt được
I.Giới thiệu
Mục đích của đề tài
Trò chơi dò mìn của windows™
Luật chơi
Ngôn ngữ sử dụng
Mục đích của đề tài
Có 2 mục đích:
1. Viết chương trình dò mìn như
chương trình dò mìn của
Windows™
2. Xây dựng chức năng trợ giúp
người chơi
Dò mìn của Windows
Đi kèm với các phiên bản của
window™
Dành cho tất người chơi
Luật chơi
Một ô có thể được đánh dấu bởi 1 số,
đánh dấu cờ (có mìn)
Chỉ số trên mỗi ô thể hiện số mìn lân
cận ô đó
Ngôn ngữ sử dụng
Ngôn ngữ VC++
IDE: MS visual C
Thư viện: MFC
Xây dựng trò chơi dò mìn
Giải pháp
Cấu trúc dữ liệu
Giải thuật
Demo giải thuật
Giải pháp
Sinh ngẫu nhiên ma trận mìn dựa
trên điều kiện đầu
Tính toán chỉ số của các ô bằng cách
duyệt tất cả các ô có mìn và tăng chỉ
số các ô lân cận.
Cấu trúc dữ liệu
Cấu trúc dữ liệu mỗi ô
struct tCell
{
BYTE
int
bool
bool
bool
int
int
};
tType;
nNeighbourMines;
bChecked;
bSuspect;
bFlaged;
x;
y;
Giải thuật sinh
Giải thuật tính chỉ số
Demo giải thuật
p
p
p
P
p
p
p
P
p
p
Demo giải thuật
p
p
p
P
p
p
p
P
p
p
Demo giải thuật
p
p
p
P
p
p
p
P
p
p
Demo giải thuật
p
p
p
P
p
p
p
P
p
p
Demo giải thuật
p
p
p
P
p
p
p
P
p
p
Demo giải thuật
p
p
p
P
p
p
p
P
p
p
Demo giải thuật
p
P
1
1
1
p
1
1
1
p
1
p
1
p
p
P
p
p
Demo giải thuật
p
P
1
1
1
p
1
1
1
p
1
p
1
p
p
P
p
p
Demo giải thuật
p
P
1
1
1
p
1
2
1
1
1
p
1
p
2
1
p
1
1
1
p
P
p
p
Demo giải thuật
p
P
1
1
1
p
1
2
1
1
1
p
1
p
2
1
p
1
1
1
p
P
p
p
Demo giải thuật
1
p
1
1
2
2
1
p
P
2
3
3
2
1
1
1
1
1
1
1
p
1
2
1
1
1
p
2
1
p
2
2
1
1
p
1
2
1
1
p
1
1
1
1
p
1
3
2
1
P
1
Demo giải thuật
Máy tính chơi dò mìn
Giải pháp
Cấu trúc dữ liệu
Giải thuật
Demo giải thuật
Giải pháp
Xây dựng một vùng dữ liệu riêng để
thao tác
Sử dụng các heuristic để tìm lời giải:
Rule1, Rule3, Rule2
Cấu trúc dữ liệu
struct tMashCell
{
bool bIgnore;
int nNeighbourMines;
bool bBlank;
int nPercent;
int nMine;
};
Ánh xạ giữa 2 ma trận
tCell tMashCell
tMashCell là mang thông tin mà
người chơi có thể thấy
Ánh xạ giữa 2 ma trận
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
1
1
1
2
X
1
X
1
1
X
X
X
X
X
X
X
X
X
X
X
X
1
1
X
3
1
2
1
1
1
1
1
1
1
1
X
X
X
X
X
X
X
1
X
X
X
Ánh xạ giữa 2 ma trận
Ánh xạ giữa 2 ma trận
header
dsd
header
dsd
header
dsd
header
dsd
header
dsd
header
dsd
header
dsd
header
dsd
header
dsd
struct tCell
{
BYTE
tType;
//cell have mine or not
int
nNeighbourMines; //number of
neighbour mines
bool
bChecked;
//mark the cell
is opened
bool
bSuspect;
// ? mark
bool
bFlaged;
//flag mark
int
x;
//cell position
int
y;
struct tMashCell
{ };
};
bool bIgnore;
int nNeighbourMines;
bool bBlank;
BYTE
int nPercent;
int
int nMine;
bool
struct tCell
{
tType;
//cell have mine or not
nNeighbourMines; //number of neighbour mines
bChecked;
bool
//mark the cell is opened
bSuspect;
bool
// ? mark
bFlaged;
int
//flag mark
x;
int
//cell position
y;
};
B