LOGO
Trường ĐHSP TPHCM
Khoa CNTT
Báo Cáo Môn Lập Trình
Windows Trên C#
Đề Tài: Game Tetris Sử Dụng
C# & GDI+
GVHD: Âu Bửu Long
SVTH: Lê Anh Toàn & Lê Quang Phước
3/26/2012
1
Game Tetris
Nội Dung
1
Giới thiệu
Một số khái niệm 2
Chiến lược cho máy chơi 3
4
Các nhân tố ước lượng
5
Minh họa trò chơi Tetris
3/26/2012 2
www.themegallery.com
Nội Dung
1
Giới thiệu
Một số khái niệm 2
Chiến lược cho máy chơi 3
4
Các nhân tố ước lượng
5
Minh họa trò chơi Tetris
3/26/2012 3
www.themegallery.com
Giới thiệu
Tetris lần đầu tiên được ra mắt vào năm
1984.
Đây là game được viết bởi nhà toán học
người Nga Alexey Pajitnov.
“Tetris = Tetra + Tennis”
“Công nghệ có thể thay đổi
nhưng não người thì không”
3/26/2012 4
www.themegallery.com
Giới thiệu
Tạp chí Electronic Gaming Monthly:
”Trò chơi vĩ đại nhất trong mọi thời đại”
3/26/2012 5
www.themegallery.com
Nội Dung
1
Giới thiệu
Một số khái niệm 2
Chiến lược cho máy chơi 3
4
Các nhân tố ước lượng
5
Minh họa trò chơi Tetris
3/26/2012 6
www.themegallery.com
Một số khái niệm
Có 7 miếng hình chuẩn trong Tetris với các tên: O, I, S, Z, L, J, T
(dựa vào hình dạng của các miếng hình)
3/26/2012 7
www.themegallery.com
Một số khái niệm
•Từ hình đầu -> hình sau: quay 1 góc 90
0
ngược chiểu kim đồng hồ.
•Từ hình sau -> hình đầu: quay 1 góc 90
0
theo chiều kim đồng hồ
3/26/2012 8
www.themegallery.com
Một số khái niệm
•Từ hình đầu -> hình kế tiếp: chỉ cần quay hình đầu 1 góc 90
0
ngược chiều kim
đồng hồ.
•Từ hình cuối -> hình đầu tiên: cũng quay 90
0
ngược chiều kim đồng hồ
3/26/2012 9
www.themegallery.com
Một số khái niệm
Controls
Rotate
Right
Left
Left
Rotate
Right
Drop
Drop
Điều khiển trong Tetris:
qua trái, phải, đi xuống, quay
3/26/2012 10
www.themegallery.com
Một số khái niệm
Lines Completed
Levels
Piece Landing
Các dòng mà
chứa đầy các ô
được gọi là lines
completed.
Tetris chuẩn có
10 cấp độ khó
Level Delay(second)
3/26/2012 11
www.themegallery.com
Cấu trúc dữ liệu cho Tetris
Cell
•Foreground, background, x, y, size
Block
•Type, x, y, orientation, state, data
Board
•Width, height, Cells,
10
20
3/26/2012 12
www.themegallery.com
Nội Dung
1
Giới thiệu
Một số khái niệm 2
Chiến lược cho máy chơi 3
4
Các nhân tố ước lượng
5
Minh họa trò chơi Tetris
3/26/2012 13
Chiến lược cho máy chơi
Dựa vào thông tin của bảng hiện tại và miếng hình hiện
tại -> sự phân tích “one-piece”.
Thuật toán one-piece cho Tetris tốt nhất của Pierre
Dellacherie (người Pháp)
www.themegallery.com
3/26/2012 14
Chiến lược cho máy chơi
www.themegallery.com
3/26/2012 15
Thuật toán
Xét tất các nhánh con:
Với mỗi trạng thái con, đánh giá chỉ số (rate) trạng thái
ấy bằng cách dùng các trọng số ước lượng
Nếu chỉ số của nhánh con nào vượt chỉ số (rate) của các
nhánh con trước thì cập nhật nhánh tốt nhất hiện tại (vị
trí dịch chuyển, hình dạng của hình)
www.themegallery.com
Note: nếu một nhánh mà có
miếng hình (piece) vượt
khung của bảng hoặc đè lên
ô đã xuất hiện (occupied
cells) trong bảng thì ta không
xét nhánh đó.
3/26/2012 16
www.themegallery.com
Nội Dung
1
Giới thiệu
Một số khái niệm 2
Chiến lược cho máy chơi 3
4
Các nhân tố ước lượng
5
Minh họa trò chơi Tetris
3/26/2012 17
Các nhân tố ước lượng
Landing height
Eroded price cells
Row transition
Column transition
Buried holes
Wells
www.themegallery.com
3/26/2012 18
Các nhân tố ước lượng
Landing height
Độ cao của miếng hình khi không thể rơi được nữa.
www.themegallery.com
Landing
height = 9
3/26/2012 19
Các nhân tố ước lượng
Eroded piece cells
Số lượng dòng được xóa nhân với số ô bị xóa của
“piece” khi ăn điểm.
www.themegallery.com
3/26/2012 20
Các nhân tố ước lượng
Row transitions
Ghi lại số lần chuyển tiếp giữa một ô trống (empty) và
một ô đã có (occupied) trên mỗi dòng trong bảng (board)
» Mỗi mũi tên trong hình là một
» “row transition”.
www.themegallery.com
3/26/2012 21
Các nhân tố ước lượng
Column transitions
Ghi lại số lần chuyển tiếp giữa một ô trống (empty) và
một ô đã có (occupied) trên cột trong bảng (board)
» Mỗi mũi tên trong hình là một
» “column transition”.
www.themegallery.com
Có 16 “column transitions”.
3/26/2012 22
Các nhân tố ước lượng
Buried holes
Số lượng các lỗ hỗng (khoảng trống) mà có ít nhất một
ô xuất hiện ở trên nó.
» Các ô được đánh dấu “1”
là các holes.
www.themegallery.com
Có 10 “buried holes”.
3/26/2012 23
Các nhân tố ước lượng
Wells
Tổng tất cả các giếng trong bảng (board).
www.themegallery.com
Có 2 giếng (wells).
3/26/2012 24
www.themegallery.com
Nội Dung
1
Giới thiệu
Một số khái niệm 2
Chiến lược cho máy chơi 3
4
Các nhân tố ước lượng
5
Minh họa trò chơi Tetris
3/26/2012 25