TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TƯƠNG TÁC NGƯỜI MÁY
Đề Tài: BTL05
GAME DI ĐỘNG CẢM ỨNG
Giảng viên hướng dẫn : TS. Vũ Thị Hương Giang
Nhóm : HCI18
Sinh Viên Thực Hiện : Trần Khắc Giao 20070927
Nguyễn Hữu Nội 20072185
Bùi Viết Dũng 20076136
Trần Đức Việt 20073469
Hà Nội, tháng 10 năm 2011
Mục Lục
LỜI NÓI ĐẦU
Sự phát triển bùng nổ của các mạng viễn thông và các thiết bị di động tại Việt Nam
kéo theo nhiều dịch vụ giải trí trong đó có game di động. Lập trình game di động
đang là một nghề thu hút được nhiều các lập trình viên và là mảnh đất hứa với
nhiều công ty phần mềm.
Bài tập lớn môn học Tương tác người máy Trang 2
Nhóm HCI18 – Game di động cảm ứng
Cùng với sự ra đời của công nghệ hiện đại 3G, sự cải tiến vượt bậc về đồ họa và
giá thành không ngừng giảm, chính các trò chơi đơn giản tận dụng tối ưu sức mạnh
của nền điện thoại, chứ không phải là bản sao của các sản phẩm trên máy game gia
đình hoặc PC, sẽ là nhân tố chính thúc đẩy nền giải trí mobile phát triển.
Thêm vào đó, nếu trước đây, đại đa số game thủ đam mê trò chơi trên các hệ máy
điện tử là nam giới từ 12 đến 25 tuổi, thì bây giờ, lượng phụ nữ và những người
lớn tuổi tham gia vào cộng đồng này ngày một nhiều. Thế hệ game thủ đầu tiên giờ
đây cũng đã bước vào tuổi trung niên và đang tìm kiếm cho mình một phương
pháp thích hợp hơn để giải trí mà không làm ảnh hưởng đến công việc. Các trò
Bạn có thể kích hoạt các chương trình ưa thích chỉ bằng một hoặc vài lần chạm
(touch) vào màn hình (screen) không cần bấm nhiều nút và qua nhiều lớp menu
như điện thoại thông thường. Có nhiều công nghệ cảm ứng khác nhau, mỗi
công nghệ lại có những ưu khuyết điểm riêng của mình.
“Cha đẻ” công nghệ màn hình cảm ứng - Dr.Samuel Hurst
1.2 Game diệt gián
Game diệt gián là game phát triển trên nền tảng J2ME. Luật chơi rất đơn giản:
• Khi trò chơi bắt đầu, gián sẽ xuất hiện từ một trong ba cạnh phía trên
của màn hình và di chuyển liên tục tới ba cạnh còn lại.
Bài tập lớn môn học Tương tác người máy Trang 5
Nhóm HCI18 – Game di động cảm ứng
• Nhiệm vụ của người chơi dùng tay ( hay bút stylus) nhấn vào gián, khi
nhấn chính xác thì gián sẽ bị tiêu diệt và số điểm của người chơi sẽ tăng
lên, khi gián di chuyển được xuống cạnh dưới cùng thì người chơi bị trừ
điểm.
• Trong khi chơi người chơi có thể nhặt được đồ vật có những tính năng
tiêu diệt gián khác nhau. Mỗi đồ vật sẽ xuất hiện ngẫu nhiên sau một
khoảng thời gian nhất định. Có 4 đồ vật:
- Bom: Tiêu diệt tất cả các con gián đang xuất hiện trên màn hình.
- Bình xịt: Tiêu diệt các con gián trong phạm vi rộng xung quanh
điểm nhấn, trừ gián nằm dưới vật cản.
- Bánh: Làm bất động tất cả các con gián, sau đó chúng sẽ bị chậm
lại trong một thời gian.
- Đồng hồ: Tăng thời gian chơi.
• Ngoài ra, mỗi màn chơi còn có các vật cản giúp bảo vệ gián. Khi gián
bò dưới vật cản thì dùng tay và bình xịt không diệt được.
• Để tăng kịch tính cho trò chơi, hệ thống có bộ đếm ngược thời gian, thời
gian còn càng ít thì mức độ nguy hiểm của gián sẽ càng cao – gián di
chuyển nhanh hơn (thời gian chơi là 3 phút).
• Khi hết thời gian, hệ thống sẽ thông báo điểm số mà người chơi đạt
rung Tốn pin, khi số lượng quái vật tăng lên làm điện thoại rung liên tục rất
khó thao tác.
1.4 Những vấn đề trong HCI được sử dụng
• Sử dụng tương tác: giao tiếp menu.
• Hiệu ứng hình ảnh , âm thanh.
• Các nguyên tắc của tính dùng được trong thiết kế các hệ tương tác.
• Quy trình thiết kế các hệ tương tác.
• Các nguyên lý của thiết kế giao diện người dùng.
• Nguyên lý của thiết kế giao diện lấy người dùng làm trung tâm.
1.5 Phạm vi của dự án
Sản phẩm được xây dựng trong khuôn khổ của môn học “Tương tác người
máy”. Vì vậy, mang tính demo cao.
2. Kế hoạch thực hiện
2.1 Đề xuất giải pháp
Dựa trên đánh giá các game cảm ứng tương tự bên trên. Nhóm 18 đã xây dựng
các giải pháp cho game diệt gián của mình:
Bài tập lớn môn học Tương tác người máy Trang 8
Nhóm HCI18 – Game di động cảm ứng
• Công nghệ: J2ME, cảm ứng đơn điểm.
• Công cụ sử dụng: Netbeans IDE.
• Chức năng:
Xây dựng trò chơi tương tác trực tiếp qua màn hình cảm ứng,
không sử dụng bàn phím ảo.
Có nhạc nền và âm thanh khi tiêu diệt gián.
Có nhiều bản đồ chơi.
Có thêm các đồ vật đặc biệt.
Hỗ trợ tính năng rung nhưng chỉ kích hoạt khi sử dụng đồ vật đặc
biệt.
Có tùy chọn cho phép bật, tắt chức năng rung và âm thanh.
Có chức năng chấm điểm để so sánh giữa các lần chơi khác nhau.
1.2 Tham khảo
- Roger S.Pressman, Software Engineering 6
th
Edition.
- SRS Template
http://www.processimpact.com/process_assets/srs_template.doc.
- An example of Software Requirements- HyperCheck Enterprises Group-FIT
Queensland University of technology
1.3 Thuật ngữ và các từ viết tắt
2. Mô tả tổng quan
2.1 Các chức năng chính
• Chọn map
• Trợ giúp(Help)
• About
• Thông báo lỗi
• Diệt gián:
Ăn đồ vật
Bài tập lớn môn học Tương tác người máy Trang 11
Nhóm HCI18 – Game di động cảm ứng
Tính điểm
Đếm thời gian
Tạm dừng
Lưu thông tin người chơi
2.2 Phân loại người sử dụng
Game chỉ có một người sử dụng duy nhất : người chơi(NC)
2.3 Môi trường thực thi
• Máy điện thoại di động cảm ứng
2.4 Các ràng buộc về thiết kế và thực thi
• Ngôn ngữ lập trình : Java
• J2ME
thống menu cho phép người chơi lựa chọn
chức năng chọn help.
Sau khi xem xong,người chơi có thể thoát ra
ngoài .
DG
03
Chức năng thông
báo lỗi
Mô tả
Chức năng này đưa thông tin báo lỗi.
Quy trình thực hiện
Trong khi chơi nếu có xảy ra lỗi thì hệ thống
sẽ thông báo lỗi tới người chơi và thoát khỏi
trò chơi.
DG04
Chức Năng diệt
gián
Mô tả
Đây là chức năng chính của game
Quy trình thực hiện
Sau khi chọn Map hệ thống sẽ đưa người
chơi vào mà chơi chính.
Các chức năng con được sử dụng:
Chức năn tính điểm(DG 03.01)
- Khi người chơi diệt được gián thì
điểm sẽ tăng lên.
Chức năng ăn đồ vật(DG 03.02)
- Đồ vật sẽ xuất hiện ngẫu nhiên khi
gián được diệt
thống.
Mô tả các thiết kế:
• Thiết kế chức năng hệ thống bằng biểu đồ Usecase và biểu đồ trình tự Biểu đồ
Usecase thể hiện góc nhìn từ phía ngoài vào hệ thống, nó cho thấy từng tác
nhân của hệ thống yêu cầu những chức năng nào. Còn biểu đồ trình tự được
dùng để diễn tả tương tác giữa người dùng và hệ thống, tương tác giữa các chức
năng hệ thống với nhau. Biểu đồ trình tự thể hiện góc nhìn quá trình của hệ
thống.
Bài tập lớn môn học Tương tác người máy Trang 15
Nhóm HCI18 – Game di động cảm ứng
• Thiết kế màn hình giao diện là đưa ra màn hình tương tác giữa người dùng và
hệ thống, qua đó người dùng có thể sử dụng các chức năng của hệ thống.
• Thiết kế module chương trình là việc thiết kế các module để thực hiện các chức
năng hệ thống.
1.2 Thuật ngữ và ký hiệu viết tắt
Kí hiệu Mô tả Ghi chú
SDD
Software design
document
Tài liệu phân tích thiết kế
hệ thống
Usecase Ca sử dụng
Tài liệu “ Phát triển hệ
thống hướng đối tượng với
UML2.0 và C++”
Actor Tác nhân
1.3 Tài liệu liên quan
Mã tài liệu Thông tin tài liệu
UML 2.0
Phân tích thiết kế hệ thống hướng đối tượng với
Dòng hành động thay
thế
Không tìm thấy map: vì lý do chức năng hay kĩ
thuật, theo GA10 đưa ra hiển thị thông báo lỗi.
Điều kiện thoát Nút thoát: khi người dùng chọn nút này sẽ đưa
người chơi quay lại mà hình chính.
Điều kiện đặc biệt Không
Điều kiện trước Người chơi đã khởi động trò chơi
Điều kiện sau Người chơi sẽ vào phần chơi chính với map đã chọn
2.1.2 Help
Tên use case Help Id:GA2
Miêu tả Chức năng này đưa ra những chỉ dẫn về cách chơi đối
với người chơi.
Kích hoạt Người chơi
Dòng chảy sự kiện Người chơi chọn chức năng này trên thanh menu khi
bắt đầu vào trò chơi .
Dòng hành động
chính
Click vào chức năng help trên thanh menu.
Dòng hành động
thay thế
Không tìm thấy : vì lý do chức năng hay kĩ thuật, theo
GA10 đưa ra hiển thị thông báo lỗi.
Điều kiện thoát Nút thoát: khi người dùng chọn nút này sẽ đưa người
chơi quay lại mà hình chính.
Điều kiện đặc biệt Không
Điều kiện trước Người chơi đã khởi động trò chơi
Điều kiện sau Quay trở lại màn hình chính
2.1.3 About
Tên use case About Id:GA3
cộng điểm cho người chơi.
-Thời gian tính lùi.
Dòng hành động
chính
-Diệt gián: Khi người chơi diệt được một con gián thì
có thể nhặt được đồ vật (sự kiện nhặt được đồ vật là
ngẫu nhiên). Mỗi đồ vật có những tính năng riêng, có
thể dùng vào thời điểm nào mà người chơi thích:
• Boom: Khi nổ sẽ tiêu diệt tất cả gián trên mà
hình.
• Bình xịt: Diệt gián trong phạm vi nhỏ.
• Đồng hồ: Tăng thời gian chơi.
• Thuốc độc: Giảm tốc độ gián.
Dòng hành động
thay thế
-Error : vì lý do chức năng hay kĩ thuật, theo GA10
đưa ra hiển thị thông báo lỗi và thoát ra khỏi trò chơi.
Bài tập lớn môn học Tương tác người máy Trang 19
Nhóm HCI18 – Game di động cảm ứng
-Tạm ngừng trò chơi : có thể do người chơi yêu cầu
Điều kiện thoát -Nút thoát: khi người dùng chọn nút này sẽ đưa người
chơi quay lại mà hình chính.
- Thời gian chơi kết thúc , lưu điểm người chơi.
Chuyển về màn hình chính .
Điều kiện đặc biệt Không
Điều kiện trước Người chơi đã chọn một map
Điều kiện sau Chuyển về màn hình chính, lựa chọn map mới.
2.1.5 Ăn đồ vật
Tên use case Ăn đồ vật Id:GA5
Miêu tả Chức năng này giúp người chơi tăng cường thêm tính
ra hiển thị thông báo lỗi.
Điều kiện thoát Nút thoát: khi người dùng chọn nút này sẽ đưa người
Bài tập lớn môn học Tương tác người máy Trang 20
Nhóm HCI18 – Game di động cảm ứng
chơi quay lại mà hình chính.
Điều kiện đặc biệt Không
Điều kiện trước Người chơi đã khởi động trò chơi
Điều kiện sau Trò chơi kết thúc, quay về màn hình chính
2.1.7 Tính điểm
Tên use
case
Tính điểm Id:GA7
Miêu tả Chức năng này tính điểm cho người chơi
Kích hoạt Người chơi
Dòng chảy
sự kiện
Bắt đầu chơi-> diệt được gián-> cộng điểm
Dòng
hành động
chính
Bắt đầu chơi-> diệt được dán-> cộng điểm cho người chơi-> hết
thời gian(Gọi GA6)->lưu điểm(Gọi GA8)-> trở về màn hình
chính
Dòng
hành động
thay thế
error : vì lý do chức năng hay kĩ thuật, gọi GA10 đưa ra hiển thị
thông báo lỗi.
Điều kiện
thoát
Điều kiện đặc
biệt
Không
Điều kiện trước Người chơi đã khởi động trò chơi
Điều kiện sau Trò chơi kết thúc, quay về màn hình chính
2.1.9 Tạm dừng
Tên use case Tạm dừng Id:GA9
Miêu tả Chức năng này cho phép tạm dừng trò chơi khi đang chơi
Kích hoạt Người chơi
Dòng chảy sự
kiện
Tạm dừng-> dừng đếm time_> chờ người chơi kích hoạt
lại.
Dòng hành động
chính
Tạm dừng->dừng điếm time(gọi GA6) -> chờ người chơi
kích hoạt lại
Dòng hành động
thay thế
error : vì lý do chức năng hay kĩ thuật, gọi GA10 đưa ra
hiển thị thông báo lỗi.
Điều kiện thoát Nút thoát: khi người dùng chọn nút này sẽ đưa người
chơi quay lại mà hình chính.
Điều kiện đặc
biệt
Không
Điều kiện trước Người chơi đã khởi động trò chơi
Điều kiện sau Tạm dừng trò chơi
2.1.10 Thông báo lỗi(Error)
Tên use case Tạm dừng Id:GA8
cho người dùng đã ăn được bom.
BugSpray Lớp kế thừa lớp Icon có tác dụng khi ăn được đồ vật
bình xịt thì icon bình xịt trên màn hình sáng lên ,thông
báo cho người dùng đã ăn được bình xịt
Cake Lớp kế thừa lớp Icon có tác dụng khi ăn được đồ vật
bánh thì icon bánh trên màn hình sáng lên ,thông báo
cho người dùng đã ăn được bánh
Effect Là lớp cha của các lớp
BoomEffect,SmokeEffect,CakeEffect .Chức năng xử lý
hiệu ứng khi sử dụng bom hoặc bình xịt,bánh.
BoomEffect Lớp tạo hiệu ứng khói bao quanh cả màn hình khi người
dùng sử dụng bomb.
SmokeEffect Lớp tạo hình ảnh khói trong một vùng khi người dùng
sử dụng bình xịt.
CockRoach Lớp con gián kế thừa Actor,Chức năng là đối tượng con
gián trên màn hình cần giết.
CockRoachGroup Mảng các con gián,quản lý các con gián trên màn hình.
Comment Lớp dùng để hiện lên thông báo nhỏ ngay khi giết được
một con gián(vị trí ở bên cạnh con gián vừa bị giết)
DoVat Xử lý hình ảnh các đồ vật được xuất hiện ngẫu nhiên
Bài tập lớn môn học Tương tác người máy Trang 24
Nhóm HCI18 – Game di động cảm ứng
trên màn hình cho người dùng ăn
GameScreen Màn hình chính khi chơi game,dùng để vẽ các đối tượng
lên nó
ImageSet Lớp xử lý việc di chuyển.Bao gồm nhiều hình ảnh liên
tiếp nhau thể hiện việc di chuyển của một đối tượng.
TheGame Lớp Midlet xử lý việc khởi động,tạm dừng,thoát game
Tools Xử lý việc thêm phần tử vào một mảng(Dùng khi thêm
mọt CockRoach vào CockRoachGroup)