intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Báo cáo Game Mario

Chia sẻ: Nv H | Ngày: | Loại File: DOCX | Số trang:29

1.303
lượt xem
109
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mario (Tiếng Nhật:マママ) là nhân vật trong game được tạo bởi nhà thiết kế game người Nhật Shigeru Miyamoto. Mario đã trở thành linh vật biểu trưng cho hãng Nintendo. Mario được phát họa với dáng lùn, là người anh song sinh của Luigi. Nguyên bản Mario được thiết kế trên nền đồ họa 2D, nhưng với những phiên bản sau này được thiết kế với đồ họa 3D.

Chủ đề:
Lưu

Nội dung Text: Báo cáo Game Mario

  1. ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM LỚP CNPM03 ----------oOo---------- BÁO CÁO ĐỒ ÁN : CA PHƯƠNG PHÁP LẬP TRÌNH MÔN CHỦ ĐỀ : BÁO CÁO GAME MARIO GVHD : TS. NGÔ THANH HÙNG Nhóm sinh viên: 1. Trần Quốc Công 08520046 2. Nguyễn Công Huy 08520148 3. Cù Duy Khoa 08520181 4. Bùi Ngọc Huy 08520544 Thành phố Hồ Chí Minh, ngày 17 tháng 1 năm 2011
  2. Lời cảm ơn Chúng em xin chân thành cảm ơn Khoa Công nghệ phần mềm, trường Đại học Công nghệ thông tin – ĐHQG Tp. HCM đã tạo điều kiện cho chúng em được thực hiện đồ án môn học “Các phương pháp lập trình”. Chúng em cũng xin chân thành cám ơn TS. Ngô Thanh Hùng, th ầy đã giảng dạy cho chúng em những kiến thức cần thiết cho môn học này. Những kiến thức đó đã giúp cho chúng em rất nhiều trong quá trình làm đồ án môn h ọc. Chúng em xin chân thành cám ơn quý Thầy cô trong Khoa đã tận tình giảng dạy và trang bị cho chúng em những kiến thức cần thiết trong thời gian qua. Cuối cùng xin g ửi lời biết ơn đến gia đình, bạn bè đã ủng hộ, giúp đỡ và động viên trong nh ững lúc khó khăn cũng như trong suốt thời gian học tập v ừa rồi. M ặc dù nhóm đã cố gắng hoàn thành đồ án môn học với tất cả nỗ lực của t ừng thành viên trong nhóm, nhưng đồ án chắc chắn không tránh khỏi những thiếu sót nhất định, rất mong nhận được sự cảm thông, chia sẻ và tận tình đóng góp chỉ bảo của quý Thầy Cô. NHÓM THỰC HIỆN BÙI NGỌC HUY 08520544 NGUYỄN CÔNG HUY 08520148 CÙ DUY KHOA 08520181 TRẦN QUÔC CÔNG 08520046
  3. NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………… ………………………………………………………… TP Hồ Chí Minh, ngày … tháng… năm 2011 Ký tên TS. Ngô Thanh Hùng
  4. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng 1 Giới thiệu về game Mario Mario (Tiếng Nhật:マママ) là nhân vật trong game được tạo bởi nhà thiết kế game người Nhật Shigeru Miyamoto. Mario đã trở thành linh vật biểu trưng cho hãng Nintendo. Mario được phát họa với dáng lùn, là người anh song sinh của Luigi. Nguyên bản Mario được thiết kế trên nền đồ họa 2D, nhưng với những phiên bản sau này được thiết kế với đồ họa 3D. Mario được mô tả là thợ sửa ống nước người Ý với chiều cao 155cm, dáng vẻ bệ vệ, sống ở Vương quốc Nấm (Mushroom Kingdom). Anh ta được biết đến với việc thường xuyên ngăn trở kế hoạch bắt cóc công chúa Quả Đào (Princess Peach) và thôn tính Vương quốc Nấm của Quốc vương Bowser (King Bowser). Trở thành linh vật của Nintendo, Mario được bình chọn là nhân vật nổi tiếng nhất trong lịch sử video game. Với việc bán được hơn 193 triệu bản, loạt game Mario trở thành loạt game bán chạy nhất trong lịch sử. 2 Giới thiệu vấn đề Yêu cầu chương trình cuả chúng ta ở đây là làm sao thiết kế được 1 chương trình game giống (hoặc gần giống) như Mario trên dựa vào các phương pháp lập trình đã học. Cụ thể là sử dụng phương pháp lập trình hướng đối tượng kết hợp với các mẫu thiết kế và các giải thuật toán học(đệ quy…). 3 Phân tích và thiết kế 3.1 Phân tích Danh sách các class sử dụng kế thừa trong game 3.1.1 Chức Năng STT Tên Class Đây là lớp cha, chứa các hàm ảo và các thuộc 1 Object tính cần thiết cho việc lưu trữ. Chứa các hàm xử lý và hiển thị viên gạch trong 2 Brick game. Chứa các hàm xử lý và hiển thị nấm+súng 3 PowerUp Chứa các hàm xử lý và hiển thị mario 4 Mario 5 Qbrick 6 Clumn Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 4
  5. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng 7 Ground Chứa các hàm xử lý và hiển thị con rùa 8 Koopa Quản lý và hiển thị đám mây 9 Cloud 10 LifeFungus 11 Stone Quản lý và hiể thị ống nước 12 Pipe Quản lý và hiển thị đồng tiền 13 Coin 14 Castle 15 Star 16 Flag Quản lý và hiển thị bông hoa trong ống nước 17 Pirhana Quán lý và hiển thị ngọn đồi nền 18 Hill Xử lý và hiển thị quái vật 19 Goomba Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 5
  6. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Sơ đồ các class kế thừa trong game. 3.1.2 Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 6
  7. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng 3.2 Thiết kế: 3.2.1 Other: Class Object : đây là lớp cha. Chủ yếu chứa các biến dùng chung 3.2.1.1 cho các class dẫn xuất và các hàm ảo. STT Tên Hàm/ Tên Biến Kiểu Dữ Chức Năng Liệu / Kiểu Trả Về Tọa độ theo phương x trong 1 X Float màn chơi Tọa độ theo phương y trong 2 Y Float màn chơi Chiều rộng trên màn hình 3 Width Float Chiều cao trên màn hình 4 Hight Float Mỗi đối tượng sẽ có một 5 ID Int mã Lưu vị trí của đối tượng 6 Rect RECT trong game Lưu hình ảnh của đối 7 Sprite Sprite* tượng Hàm khởi tạo 8 Object() Hàm khởi tạo giá trị cho các 9 Object(float _x, float _y, float biến x,y,width,hight _width, float _height) Hàm ảo 10 ResetRect() Void Hàm ảo 11 ResetWhenReload(Sprite* Void _sprite) Hàm ảo 12 SetVariable(char* varName,int Void val) Hàm ảo 13 GetVariable(char* varName) Int Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 7
  8. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Hàm ảo 14 Update(list* Void staObjs,list* dynObjs,Input* input, float TPF) Hàm ảo 15 Render(Camera* camera) Void Hàm ảo 16 Save(fstream *fs) Void Hàm ảo 17 Load(fstream *fs) Void Class Mario : quản lý mario 3.2.1.2 STT Tên Hàm/ Tên Biến Kiểu Dữ Chức Năng Liệu / Kiểu Trả Về Nếu là true thì mario đang bự, 1 isBig Bool ngược lại thì nhỏ Thời gian tạo hiệu ứng nhấp nháy 2 waitNextRow Float Nếu là true thì mario có áo giáp, 3 isHasStar Bool ngược lại thì ko 4 waitLostStar Float Vận tốc mario theo phương x 5 Vx Float Vận tốc mario theo phương y 6 Vy Float Gia tốc mario theo phương x 7 Ax Float Gia tốc mario theo phương y 8 Ay Float Vị trí mario cũ theo phương x 9 xOld Float Vị trí cũ của mario theo phương y 10 yOld Float Vị trí cũ của mario 11 oldRECT RECT Nếu là true thì đang quay qua phải, 12 isFaceRight Bool ngược lại thì trái Nếu là true thì mario đang nhảy, 13 isJumming Bool Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 8
  9. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng ngược lại thì ko Nếu là true thì mario có thể bắn, 14 isShotable Bool ngược lại thì ko Lưu thời gian mà mario nhảy trên 15 timeJumped Float không Quản lý hình ảnh mario bự 16 sBig Sprite* Lưu các đối tượng mà mario có 17 collisionList List thể va chạm * Quản lý màn hình hiển thị 18 Camera Camera* Lưu điểm số 19 Score Int Lưu số tiền xu ăn đuọc 20 Coint Char Số mạng 21 Numlife Char Hàm khởi tạo 22 Mario() Hàm khởi tạo các giá trị 23 Mario(float _x, float _y,float width,float height,int _ID,Sprite* _sSmall,Sprite* _sBig,Camera* _camera) Cập nhật lại các giá trị 24 Update(list* Void staObjs,list* dynObjs,Input* input, float TPF) Cập nhật lại vị trí mario 29 ResetRect() Void 30 SetVariable(char* Void varName,int val) 31 GetVariable(char* Int varName) 32 ResetWhenReload(Spri Void te* _sprite) 33 Save(fstream *fs) Void Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 9
  10. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng 34 Load(fstream *fs) Void 3.2.2 Terrain 3.2.2.1 Class Brick : STT Tên Hàm/ Tên Biến Kiểu Dữ Chức Năng Liệu / Kiểu Trả Về Lưu giữ các trạng thái của 1 State Char viên gạch Lưu giữ vị trí trước của viên 2 yOld Float gạch Vận tốc của viên gạch theo 3 Vy Float phương y Gia tốc của viên gạch theo 4 Ay Float phương y Lưu giá trị các mảnh vỡ của 5 xBreak1, yBreak1, xBreak2, Float viên gạch yBreak2, vyBreak1,vyBreak2, vxBreak1, vxBreak2, ayBreak Nếu là true thì viên gạch có 6 isContainCoin Bool chứa đồng xu, ngược lại thì ko Nếu là true thì xóa ra khỏi 7 isNeedDelete Bool Quadtree, ngược lại thì ko Hàm khởi tạo 8 Brick() Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 10
  11. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Hàm khởi tạo các giá trị 9 Brick(float _x, float _y,float width,float height,bool _isBright,int _ID,Sprite* _sprite) Thiết lập trạng thái cho đối 10 SetVariable(char* varName,int Void tượng viên gạch đang xét val) Trả về trạng thái hiện tại 11 GetVariable(char* varName) Int của đối tượng viên gạch đang xét Thiết lập lại các giá trị của 12 Update(list* Void đối tượng viên gạch staObjs,list* dynObjs,Input* input, float TPF) Vẽ đối tượng viên gạch 13 Render(Camera *camera) Void Thay đổi trạng thái cho đối 14 ChangeState(char _state) Void tượng 15 ResetWhenReload(Sprite* Void _sprite) 16 Save(fstream *fs) Void 17 Load(fstream *fs) void 3.2.2.2 Class Qbrick Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiể u trả về Lưu trạng thái của đối 1 State Char tượng Qbrick Vận tốc theo phương y 2 Vy Float Gia tốc theo phương y 3 Ay Float Nếu là true thì sáng lên, 4 isBright Bool ngược lại thì ko Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 11
  12. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Hàm khởi tạo 5 Qbrick() Hàm khởi tạo các giá trị 6 QBrick(float _x, float _y,float width,float height,bool _isBright,int _ID,Sprite* _sprite) Cập nhật lại các giá trị 7 Update(list* Void staObjs,list* dynObjs,Input* input, float TPF) 8 SetVariable(char* varName,int val) Void 9 GetVariable(char* varName) Int Hiển thị lên màn hinh 10 Render(Camera *camera) Void Thay đổi trạng thái 11 ChangeState(char _state) Void 12 UpdateAnimation(float TPF) Void 13 ResetWhenReload(Sprite* _sprite) Void 14 Save(fstream *fs) Void 15 Load(fstream *fs) void 3.2.2.3 Class Castle (lâu đài) Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Hàm khởi tạo đối tượng Castle với 1 Castle(float _x,float vị trí (_x,_y), chiều dài, chiều _y,float width,float rộng, tính chất (ẩn, hiện),...được height,bool _isbright,int kế thừa từ Object _Id,Sprite * _sprite) (_x,_y,width,height). Vẽ đối tượng Castle lên màn hình. 2 Render() void 3.2.2.4 Class Flag Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 12
  13. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Hàm khởi tạo 1 Flag() Hàm khởi tạo các giá trị 2 Flag(float _x, float _y,float width,float height,int _ID,Sprite* _sprite) Hàm ảo 3 Render(Camera* camera) Void Hàm ảo 4 Save(fstream *fs) Void Hàm ảo 5 Load(fstream *fs) Void 6 ResetWhenReload(Sprite* Void _sprite) Class Ground : mặt đất 3.2.2.5 Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Nếu là true thì mặt đất có 1 isBright Bool màu sáng, ngược lại thì sẽ làm tối Hàm khởi tạo 2 Ground() Hàm khởi tạo với các giá trị 3 Ground(float _x, float _y,float width,float height,bool _isBright,int _ID,Sprite* _sprite) Hiển thị đối tượng lên màn 4 Render(Camera* camera) Void hình 5 ResetWhenReload(Sprite* Void _sprite) 6 Save(fstream *fs) Void 7 Load(fstream *fs) void Class Pipe (ống dẫn) 3.2.2.6 Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Hàm khởi tạo đối tượng Pipe với vị trí 1 Pipe(float _x,float Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 13
  14. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng (_x,_y), chiều dài, chiều rộng...Được kế _y,float width,float thùa từ Object(_x,_y,width,height). height, int _Id,Sprite * _sprite) Vẽ đối tượng Pipe lên màn hình 2 Render() void 3.2.2.7 Class Stone (Đá) Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Thể hiện tính chất của đối 1 isBright Bool tượng Stone. Hàm khởi tạo đối tượng Stone 2 Stone(float _x,float với vị trí (_x,_y), chiều dài, _y,float width,float chiều rộng, tính chất (ẩn, height,bool _isbright,int hiện),...được kế thừa từ Object _Id,Sprite * _sprite) (_x,_y,width,height). Vẽ đối tượng Stone lên màn 3 Render() void hình 3.2.3 Scene 3.2.3.1 Class Cloud : đám mây Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Hàm khởi tạo 1 Cloud() Hàm khởi tạo các 2 Cloud(float _x, float _y,float width,float giá trị height,int _ID,Sprite* _sprite) Hiển thị đối tượng 3 Render(Camera* camera) Void lên màn hình 4 ResetWhenReload(Sprite* _sprite) Void 5 Save(fstream *fs) Void 6 Load(fstream *fs) void 3.2.3.2 Class Clumn : Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 14
  15. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Hàm khởi tạo 1 Clumn() Hàm khởi tạo các giá trị 2 Clumn(float _x, float _y,float width,float height,int _ID,Sprite* _sprite) Hiển thị đối tượng lên 3 Render(Camera* camera) Void màn hình 4 ResetWhenReload(Sprite* _sprite) Void 5 Save(fstream *fs) Void 6 Load(fstream *fs) void Class Hill (núi đồi) 3.2.3.3 Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Hàm khởi tạo đối tượng Hill với vị trí 1 Hill(float _x,float (_x,_y), chiều dài, chiều rộng, tính _y,float width,float chất (ẩn, hiện),...được kế thừa từ height,bool _isbright,int _Id,Sprite * _sprite) Object (_x,_y,width,height). Vẽ đối tượng Hill lên màn hình. 2 Render() void 3.2.4 Items Class Coin (Đồng xu) 3.2.4.1 Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Chứa các đối tượng trong game. 1 container Object * Kiểm tra đặc tính chứa đối tượng. 2 isCheckedContainer Bool Kiểm tra trạng thái của Coin để xóa 3 isNeedDelete Bool đối tượng. Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 15
  16. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Kiểm tra xem có đối tượng nào chứa 4 CheckContainer(list*staObjs) Coin không. Tên trạng thái hiện tại của đối tượng 5 State Char Coin. Hàm khởi tạo đối tượng Coin với vị 6 Coin(float _x,float trí (_x,_y), chiều dài, chiều rộng, tính _y,float width,float chất (ẩn, hiện),...Kế thừa từ height,bool _isbright,int _Id,Sprite Object(_x,_y,width,height). * _sprite) Cập nhật lại đối tượng Coin về 7 Update(list* void trạng thái, vị trí...sau các xử lý va staObjs,list* chạm. dynObjs,Input* input,float TPF) Vẽ đối tượng Coin lên màn hình 8 Render() void Lấy giá trị về trạng thái có thể xóa 9 GetVariable(char Int đối tượng Coin. *varName) Class LifeFungus (nấm khi Mario còn nhỏ, nếu mario lớn thì nó 3.2.4.2 là hoa) Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Thuộc tính thể hiện tính chất kiểm 1 isChecked bool tra va chạm các đối tượng hay chưa. Chứa các đối tượng mà LifeFungus 2 listcollision có thể va chạm. List Rect cũ của đối tượng LifeFungus. 3 oldRect Rect Chứa các đối tượng trong Game. 4 Container Object * Vị trí cũ của LifeFungus theo trục x. 5 xOld float Vị trí cũ của LifeFungus theo trục y 6 yOld Float Vận tốc x của LifeFungus 7 Vx Float Vận tốc y của LifeFungus. 8 Vy float Gia tốc của LifeFungus. 9 ay Float Thể hiện tên trạng thái của đối 10 State Char tượng LifeFungus. Thể hiện tính chất của LifeFungus là 11 isNeedDelete bool xóa chưa. Hàm khởi tạo đối tượng LifeFungus 12 LifeFungus (float Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 16
  17. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng với vị trí (_x,_y), chiều dài, chiều _x,float _y,float rộng, tính chất (ẩn, hiện),...Kế thừa width,float height,bool từ Object(_x,_y,width,height). _isbright,int _Id,Sprite * _sprite) Cập nhật lại đối tượng LifeFungus 13 Update(list* void về trạng thái, vị trí...sau các xử lý va staObjs,list* chạm. dynObjs,Input* input,float TPF) Thay đổi tên trạng thái của đối tượng 14 ChangeState(char void _state) LifeFungus. Kiểm tra va chạm các đối tượng. 15 CheckObjects(list* sta) Thể hiện sự di chuyển của 16 Move(float void TPF,list* LifeFungus trong game. staObjs) Vẽ đối tượng LifeFungus lên màn 17 Render() void hình. Gán tên trạng thái cho đối tượng. 18 SetVariable(char Void *varName, int val) Trả về trạng thái hiện có của 19 GetVariable(char* int varName) LifeFungus . Class Pirhana (bông hoa trong ống dẫn): 3.2.4.3 Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về Chứa các Id của đối tượng trong 1 ContainerID Int game. Hàm khởi tạo đối tượng Pirhana 2 Pirhana(float _x,float với vị trí (_x,_y), chiều dài, chiều _y,float width,float rộng, tính chất (ẩn, hiện),...được height,bool _isbright,int kế thừa từ Object _Id,Sprite * _sprite) (_x,_y,width,height). Cập nhật lại đối tượng Pirhana 3 Update(list*staO void sau các xử lý va chạm. bjs,list*dynObjs, Input* input,float TPF) Vẽ đối tượng Pirhana lên màn 4 Render() void hình Class PowerUp : quản lý đối tượng nấm (ăn được) và hoa(có 3.2.4.4 đạn). Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 17
  18. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng STT Tên Hàm/ Tên Biến Kiểu Dữ Chức Năng Liệu / Kiểu Trả Về Đối tượng sẽ chứa đối 1 Container Object* tượng PowerUp (cục gạch có nấm) Vận tốc theo phương x 2 Vx Float Vận tộc theo phương y 3 Vy Float Gia tốc theo phương y 4 Ay Float Vị trí cũ của nấm 5 xOld Float Vị trí cũ của nấm 6 yOld Float Lưu trữ trạng thái của đối 7 State Char tượng Nếu là true thì có đối tượng 8 isCheckedContainer Bool chứa, ngược lại thì ko Nếu là true thì sẽ xóa ra khỏi 9 isNeedDelete Bool QuadTree, ngược lại thì ko Hàm khởi tạo 10 PowerUp() Hàm khởi tạo các giá trị 11 PowerUp(float _x, float _y,float width,float height,int _ID,Sprite* _sprite) Cập nhật lại các giá trị 12 Update(list* Void staObjs,list* dynObjs,Input* input, float TPF) Thay đổi trạng thái 13 ChangeState(int _state) Void Di chuyển nấm 14 Move(float TPF,list* Void staObjs,list* dynObjs) Hiển thị đối tượng 15 Render(Camera* camera) Void 16 CheckObjects(list* Void staObjs,list* dynObjs) Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 18
  19. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng 17 UpdateAnimation(float TPF) Void Thiết lập trạng thái 18 SetVariable(char* varName,int Void val) Trả về trạng thái đối tượng 19 GetVariable(char* varName) Int 20 ResetWhenReload(Sprite* Void _sprite) 21 Save(fstream *fs) Void 22 Load(fstream *fs) void 3.2.4.5 Class Star (Ngôi sao): Tên hàm/ tên biến Kiểu dữ liệu/Kiểu Chức năng STT trả về Chứa các Id của đối tượng trong 1 ContainerID Int game. Hàm khởi tạo đối tượng Star với 2 Star(float _x,float vị trí (_x,_y), chiều dài, chiều _y,float width,float rộng, tính chất (ẩn, hiện),...được height,bool kế thừa từ Object _isbright,int _Id,Sprite * _sprite) (_x,_y,width,height). Cập nhật lại đối tượng Star sau 3 Update(list*staObjs,list*dynObjs,Input* input,float TPF) Vẽ đối tượng Star lên màn hình 4 Render() void 3.2.5 Enemy 3.2.5.1 Class Koopa : con rùa Tên hàm/ tên biến Kiểu dữ Chức năng STT liệu/Kiểu trả về List Lưu danh sách các 1 collisionList đối tượng có thể * va chạm Lưu vị trí cũ của 2 oldRect RECT con rùa Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 19
  20. Đồ án cuối kỳ môn CÁC PHƯƠNG PHÁP LẬP TRÌNH GVHD: TS Ngô Thanh Hùng Vận tốc theo 3 Vx Float phương x Vận tốc theo 4 Vy Float phương y Gia tốc theo 5 Ay Float phương y Vị trí cũ theo 6 xOld Float phương x Vị trí cũ theo 7 yOld Float phương y 8 isBright Bool Nếu là true thì xóa 9 isNeedDelete Bool khỏi QuadTree, ngược lại thì ko Lưu trạng thái 10 State Char Hàm khởi tạo 11 Koopa() Hàm khởi tạo các 12 Koopa(float _x, float _y,float giá trị width,float height,bool _isBright,int _ID,Sprite* _sprite) Cập nhật lại các 13 Update(list* Void giá trị staObjs,list* dynObjs,Input* input, float TPF) 14 SetVariable(char* varName,int val) Void 15 GetVariable(char* varName) Int Hiển thị lên màn 16 Render(Camera *camera) Void hinh Thay đổi trạng thái 17 ChangeState(char _state) Void 18 UpdateAnimation(float TPF) Void 19 ResetWhenReload(Sprite* _sprite) Void 20 Save(fstream *fs) Void Bùi Ngọc Huy Trần Quốc Công 08520046 08520544 Nguyễn Công Huy 08520148 Cù Duy Khoa 08520181 Page 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2