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