LOGO
Báo cáo bài tập lớn
Môn: Lập trình hướng đối tượng
Nhóm 6
Đề tài: xây dựng chương trình game
Chiếc nón kì diệu bằng ngôn ngữ Java
Nội dung chính
Các kiến thức nền tảng
1
Phân tích và thiết kế
2
Các vấn đề thú vị 3
Các kĩ năng được phát triển
4
Các kiến thức nền tảng
Lập trình hướng đối tượng
Tư duy hướng đối tượng
Các kĩ thuật lập trình: đóng gói, module
hóa, kế thừa, đa hình, …
Cách phân tích thiết kế hướng đối tượng:
Biểu đồ use case, biểu đồ lớp, biểu đồ
trình tự.
Các kỹ thuật lập trình, kiểm thử, gỡ rối
1. Các kiến thức nền tảng
Cơ sở dữ liệu
Các kiến thức về cơ sở dữ liệu: mô hình,
ngôn ngữ, thiết kế CSDL, toàn vẹn và tối
ưu hóa dữ liệu.
Kỹ năng lập trình và thao tác với CSDL
Kiến thức về ngôn ngữ CSDL (SQL)
Các kiến thức và kỹ năng để làm việc với
hệ quản trị CSDL MySQL
1. Các kiến thức nền tảng
Ngôn ngữ Java
Kiến thức lập trình căn bản trên Java
Kĩ thuật lập trình hướng đối tượng trên
Java.
Kĩ năng làm việc với môi trường lập trình
của NetBean. Tận dụng các ưu việt như:
tự sinh mã, gỡ rối, quản lý thư viện, quản
lý mã nguồn.
1. Các kiến thức nền tảng
Lập trình đồ họa trong Java
Cách tạo và vẽ các đối tượng đồ họa
Cách tạo các hiệu ứng cho hình ảnh:
quay, co dãn ảnh, tịnh tiến, trong suốt, …
Kĩ thuật bộ đệm màn hình để chống hiện
tượng conflict
Kiến thức về quản lý và truy cập file ảnh
để sử dụng trong game
Kỹ năng về tạo và chỉnh sửa ảnh
1. Các kiến thức nền tảng
Kiến thức về lập trình game
Tạo framework cho game để xử lý hoạt
động theo thời gian thực.
Kiến thức về luồng và đồng bộ hóa luồng.
Điều phối, ổn định và cân bằng tốc độ
cập nhật trạng thái của game với các
thao tác xử lý đồ họa.
Tính toán các hoạt động trong game theo
thời gian thực
2. Phân tích và thiết kế
Biểu đồ use case
2. Phân tích và thiết kế
Biểu đồ trình tự
2. Phân tích và thiết kế
Biểu đồ lớp
3. Các vấn đề thú vị
Tạo framework xử lý theo thời gian
thực:
Tạo 2 luồng xử lý song song: 1 luồng xử
lý các chuyển động và cập nhật trạng thái
của game, 1 luồng chuyên xử lý các sự
kiện và các thao tác đồ họa.
Đồng bộ hóa các luồng: phải cân bằng
giữa việc cập nhật game và vẽ các đối
tượng đồ họa ra màn hình.
Ổn định tốc độ chạy của game, độc lập
phần cứng.
3. Các vấn đề thú vị
Thiết kế các trạng thái làm việc trong
game (game state)
Cần chia game thành nhiều trạng thái
như: menu khởi động, tạo game mới,
quản lý dữ liệu, chơi game, và kết thúc.
Do các trạng thái có những đặc điểm
chung nên được thừa kế từ một lớp cha,
mỗi trạng thái sẽ được thiết kế riêng
thành 1 lớp, có các tài nguyên và các
thao tác, hoạt động đặc thù.
3. Các vấn đề thú vị
Xử lý ảnh
Khi đưa ảnh vào game và thực hiện các
hiệu ứng độ họa, có thể khiến ảnh bị biến
dạng. Đặc biệt khi thực hiện quay ảnh
nhiều lần. Như vậy cần phải khử hiện
tượng răng cưa và làm mịn ảnh sau khi
quay.
Đường dẫn ảnh sai dẫn đến không thể tải
ảnh sau khi biên tập thành file thực thi
JAR
4. Các kỹ năng được phát triển
Kỹ năng làm việc nhóm, kỹ năng lập
kế hoạch.
Kỹ năng, kỹ thuật lập trình với ngôn
ngữ Java.
Kiến thức và tư duy về lập trình hướng
đối tượng.
Kiến thức và kỹ năng thao tác với cơ
sở dữ liệu,
LOGO