1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LUẬN VĂN CNTT XÂY DỰNG GAME GIẢI TRÍ BOMBER-MAN 3D

100 55 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 100
Dung lượng 5,69 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel (84-511) 736 949, Fax (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : XÂY DỰNG GAME GIẢI TRÍ BOMBER-MAN 3D Mã số : 06T1-038 Ngày bảo vệ : 15/06 /2011 SINH VIÊN : Trương Quang Thanh LỚP : 06T1 CBHD : ThS Phan Thanh Tao ĐÀ NẴNG, 06/2011 Nhận xét giáo viên hướng dẫn Nhận xét giáo viên phản biện LỜI CẢM ƠN Làm luận văn tốt nghiệp giai đoạn quan trọng trình học sinh viên nào, khơng mang lại nhìn định hướng trước sinh viên rời khỏi ghế nhà trường mà tạo điều kiện để sinh viên tiếp xúc với cơng việc thực tế, vốn có điểm khác biệt với việc học trường Để hoàn thành luận văn này, em xin chân thành cảm ơn hướng dẫn bảo tận tình thầy Ths Phan Thanh Tao Em cảm ơn thầy cô khoa Công nghệ Thông tin trường Đại học Bách Khoa Đà Nẵng tận tình giảng dạy, truyền đạt kiến thức quý báu thời gian qua tạo điều kiện cho em hoàn thành luận văn Xin chân thành cảm ơn giúp đỡ, động viên của tất bạn trình học tập trình thực luận văn Em muốn cảm ơn người thân gia đình động viên, giúp đỡ tạo điều kiện để hoàn thành luận văn Rất mong nhận đóng góp ý kiến thầy cô bạn Đà Nẵng 6/2011 Sinh viên thực Trương Quang Thanh LỜI CAM ĐOAN Tôi xin cam đoan : Những nội dung luận văn thực hướng dẫn trực tiếp thầy Ths Phan Thanh Tao Mọi tham khảo dùng luận văn trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Sinh viên, Trương Quang Thanh Mục lục i MỤC LỤC MỞ ĐẦU I II III IV Giới thiệu đề tài .1 Mục đích Nhiệm vụ thực kết cần có Nội dung thực CƠ SỞ LÝ THUYẾT .4 I II III IV V VI CÁC PHÉP BIẾN ĐỔI AFFINE TRONG KHÔNG GIAN ĐỒ HỌA 2D VÀ 3D I.1 Các phép biến đổi không gian hai chiều I.1.1 Phép tịnh tiến I.1.2 Phép quay I.1.3 Phép tỉ lệ I.1.4 Phép đối xứng I.2 Tọa độ đồng nhất, kết hợp phép biến đổi , phép biến đổi ngược I.2.1 Tọa độ đồng .7 I.2.2 Các phép biến đổi ngược I.2.3 Kết hợp phép biến đổi không gian hai chiều I.3 Các phép biến đổi không gian ba chiều 12 I.3.1 Phép tịnh tiến 12 I.3.2 Phép quay .13 I.3.3 Phép tỉ lệ 19 I.3.4 Phép đối xứng 19 I.4 Một ví dụ phép biến đổi 19 THƯ VIỆN OPENGL – CÁC PHÉP BIẾN ĐỔI TRONG OPENGL 20 OpenGL ? .20 III.1.1 OpenGL làm khơng thể làm gì? 21 III.1.2 Các tác vụ OpenGL 21 III.1.3 Hoạt động OpenGL 21 III.1.4 Mơ hình hoạt động 22 III.1.5 Yêu cầu hệ thống cho việc dùng OpenGL 23 III.1.6 Một số thuật ngữ 24 Các phép biến đổi Opengl 26 IV.1.1 Tổng quan 26 IV.1.2 Phép tịnh tiến - Translate .28 IV.1.3 Phép xoay – Rotate .29 IV.1.4 Phép kéo dãn - Scale 29 IV.1.5 Thứ tự phép biến đổi .30 IV.1.6 Phép chiếu phối cảnh trực giao 31 IV.1.7 Một số hàm khác OpenGL sử dụng chương trình 34 CÁC THUẬT TỐN TÌM ĐƯỜNG ĐI 37 Mơ tả thủ tục tìm kiếm rộng, sâu sâu dần 39 Thuật giải tìm đường có giá thành nhỏ .39 Tìm kiếm với tri thức bổ sung .40 Tìm đường đồ thị tổng quát 42 Mơ hình xây dựng từ 3DsMax .43 Mục lục Định nghĩa mơ hình (module) 43 Dữ liệu module export từ 3DsMAX .45 OBJ WaveFront Format (file *.obj) .45 Material File Format (*.mtl) 48 BÀI TOÁN VÀ GIẢI THUẬT 53 I PHÁT BIỂU YÊU CẦU 53 Ý tưởng 53 Thông tin tổng quát 53 Một vài hình ảnh game mẫu 54 II PHÂN TÍCH VÀ THIẾT KẾ 55 Xây dựng cấu trúc liệu cho đối tượng game 55 Dữ liệu Background .56 Dữ liệu vật lý (Item) .60 Lớp Characters .64 III CÁC GIẢI THUẬT CHO BÀI TOÁN 66 Thuật tốn tìm đường .66 Thuật toán bom nổ 68 Di chuyển cho nhân vật 69 Xử lý va chạm 70 IV CẤU TRÚC MODULE CỦA GAME 70 Mơ hình chung game 70 IV.1.1 Khởi tạo – Init() .72 IV.1.2 Cập nhật – Update() 72 IV.1.3 Vẽ - Paint() 73 IV.1.4 Tạm dừng – Pause() .73 IV.1.5 Giải phóng nhớ - DTOR 74 IV.1.6 Thoát khỏi chương tình – Exit() .74 Phân tích module cho chương trình 74 Phân tích mơ hình dạng chung 74 Chia nhỏ module cho chương trình .76 CÀI ĐẶT CHƯƠNG TRÌNH .78 I Cài đặt cấu trúc cho game .78 II Cài đặt di chuyển 80 Cài đặt điều khiển cho nhân vật 80 Cài đặt AI cho quái vật 81 III Cài đặt xử lý bom nổ .82 IV Xử lý va chạm 83 V Lớp Character 84 VI Điều khiển bàn phím 84 VII Một số hình ảnh game 86 KẾT LUẬN 88 I Kết đạt 88 Đánh giá kết 88 Khả mở rộng 88 II Hướng phát triển 89 ii Mục lục iii TÀI LIỆU THAM KHẢO 91 TÓM TẮT LUẬN VĂN TỐT NGHIỆP 92 Game giải trí BomberMan 3D Hình: 37 Phương pháp chia nhỏ module cho chương trình Với phương pháp chia nhỏ q trình khởi tạo Init Những sử dụng cho Level_1 khởi tạo Init_1() giải phóng trước chuyển sang Level_2 giai đoạn DTOR_1 Tương tự Level_2 Đối với biến toàn cục sử dụng xuyên suốt trình chạy chương trình ta khai báo phần Golbal_Init() giải phóng exit game Từ ta thấy với mơ hình ta tạo số chơi lớn mà không lo ngại nhớ chi phí tính tốn Đồng thời việc quản lý sử dụng biến cho level dễ dàn hon nhiều so với mô hình trước Trương Quang Thanh, 06T1 76 Game giải trí BomberMan 3D CHƯƠNG CÀI ĐẶT CHƯƠNG TRÌNH I Cài đặt cấu trúc cho game Dựa vào phần phân tích module cho chương trình chương trước với level trạng thái game ta xây dựng cho hàm riêng biệt để tiện cho việc viết code quản lý Một hàm chung cho level trạng thái game sau void BaseState(int mode) { if(mode==UpdateType::UPDATE) { cout

Ngày đăng: 18/04/2019, 21:56

TỪ KHÓA LIÊN QUAN

w