BÁO CÁO BÀI TẬP LỚN MÔN TRÍ TUỆ NHÂN TẠO Đề tài Cờ Caro - Pdf 26


BÁO CÁO BÀI TẬP LỚN
MÔN TRÍ TUỆ NHÂN TẠO

Đề tài: Cờ Caro

Giảng viên hướng dẫn: Nguyễn Thế Cường
Nhóm sinh viên thực hiện lớp CNT50ĐH2:
Đặng Thị Lan
Vũ Thị Hiển
Vũ Văn Đích

Giới thiệu
• Cờ Caro là một trong các trò chơi phổ biến hiện nay. Từ
thủa ban đầu con người thi đấu trên giấy, trên bề mặt viết
kẻ được rồi dần dần tiến tới con người lập trình thi đấu
trên máy. Cờ Caro thể hiện tính chất đối kháng cao trong
thi đấu game đòi hỏi suy nghĩ của người chơi.

• Chương trình có chế độ chơi giữa người và máy, khi chạy
sẽ có bàn cờ được hiện ra, trong quá trình chơi sẽ có
thông báo máy(người) thắng cuộc.
Mô tả
• Không gian bàn cờ chơi sẽ có kích thước là 15 hàng x 15
cột (được miêu tả chi demo chương trình).

• Khi tham gia chơi người và máy thay phiên nhau đi nước
đi của mình vào ô trống trên bàn cờ bằng ký tự đã quy
định là O với máy( đi sau), X với người chơi( đi trước).

• Cuộc chơi sẽ kết thúc khi mà bên nào đánh được 5 ô liên

- Tương tự như đối với người thì máy cũng có cách đánh
và gán giá trị tại ô đã đi là -1.
TRÒ CHƠI CỜ CARO
.
 Biến bitmap
Dim ResWidth As Integer = 950
Dim ResHeight As Integer = 550
Const TitleSize = 32

 Biến của Graphics
Dim BBG, G, Graphic, L As Graphics
Dim BB, BBM As Bitmap
Dim r, e, h As Rectangle
Dim random As New Random

 Biến đếm giây
Dim tSec As Integer = TimeOfDay.Second
Dim tTicks As Integer = 0
Dim MaxTicks As Integer = 0  Biến của chương trình chạy
Dim Isrunning As Boolean = True
Dim EndGame As Boolean = True
 Giới thiệu về các biến hệ thống
 Biến xác định vị trí quân đi trên bàn cờ. Quy ước X hàng, Y cột
Const Max = 15
Dim Map(Max, Max) As Integer
Dim Undo As New Stack
Dim mMapX As Integer = 20

Dim rand
 Ta tạo ra ô
bàn cờ như
sau:
 Bàn cờ kích
thước [15,15].
Ngoài ra tạo 3
button:
 New Games
 UnDo
 Exit
 Khởi tạo nước đi đầu tiên của bàn cờ
Private Sub DrawGraphics()
mMapX = 0, mMapY = 0
For X = 0 To 14 'chi so cot
For Y = 0 To 14 'chi so hang
r = New Rectangle(X * TitleSize, Y * TitleSize, TitleSize,
TitleSize)
G.FillRectangle(Brushes.Tan, r) 'to mau cho trong o ban co
G.DrawRectangle(Pens.Black, r) 'to mau but ke duo

If Map(mMapX + X, mMapY + Y) = -2 And Map(mMapX + X,
mMapY + Y) <> -1 Then
e = New Rectangle(TitleSize * ToaDo_Quan_X, TitleSize *
ToaDo_Quan_X2, TitleSize, TitleSize)
G.DrawImage(BBM, r, e, GraphicsUnit.Pixel)
If Map(mMapX + X, mMapY + Y) = -1 And Map(mMapX + X, mMapY +
Y) <> -2 Then
.
e = New Rectangle(TitleSize * ToaDo_Quan_Y, TitleSize *


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status