1. Trang chủ
  2. » Thể loại khác

XÂY DỰNG GAME GIẢI TRÍ BOMBER-MAN 3D

100 48 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 Giới thiệu đề tài II Mục đích .1 III Nhiệm vụ thực kết cần có IV Nội dung thực CƠ SỞ LÝ THUYẾT .4 I 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 I.2.2 Các phép biến đổi ngược .8 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 II THƯ VIỆN OPENGL – CÁC PHÉP BIẾN ĐỔI TRONG OPENGL .20 III 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 IV 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 30 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 32 IV.1.7 Một số hàm khác OpenGL sử dụng chương trình 34 V 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ỏ 40 Tìm kiếm với tri thức bổ sung 40 Tìm đường đồ thị tổng quát .42 VI 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 Khởi tạo – Init() 72 Cập nhật – Update() .72 Vẽ - Paint() 73 Tạm dừng – Pause() 73 Giải phóng nhớ - DTOR 73 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 75 CÀI ĐẶT CHƯƠNG TRÌNH .77 I Cài đặt cấu trúc cho game 77 II Cài đặt di chuyển 79 Cài đặt điều khiển cho nhân vật 79 Cài đặt AI cho quái vật 80 III Cài đặt xử lý bom nổ .81 IV Xử lý va chạm 82 V Lớp Character 83 VI Điều khiển bàn phím .83 VII Một số hình ảnh game 85 KẾT LUẬN 87 I Kết đạt 87 Đánh giá kết 87 Khả mở rộng 87 II Hướng phát triển .88 ii Mục lục iii TÀI LIỆU THAM KHẢO 89 [1] Dave Astle Kevin Hawkins Beginning OpenGL Game Programming Thomson Course Technology 25 Thomson Place, Boston, MA 2004 http://www.courseptr.com, 337 tr 89 [2] Bùi Minh Trường, Lập trình OpenGl với AUX Trường ĐH Wakayawa Nhật Bản, 114 tr 89 [3] Trang web http://nehe.gamedev.net/ 89 TÓM TẮT LUẬN VĂN TỐT NGHIỆP .90 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ỏ 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: 15/05/2020, 18:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w