Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
3,83 MB
Nội dung
BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP Đề tài: XÂYDỰNGTRÒCHƠIBẮNMÁYBAYCHOĐIỆNTHOẠIDI Đ ỘNG SỬDỤNGHỆĐIỀUHÀNHWINDOWSPHONE Giáo viên hướng dẫn Hải Phòng : Phạm Tuấn Đạt Mục Lục Mở đầu Chương 1: Cơ sở lý thuyết I Tổng quan điệnthoạidiđộng Sơ lược điệnthoạidiđộng Sơ lược hệđiềuhànhdiđộng II Tổng quan hệđiềuhànhWindowsPhone Khái niệm windowsphone Hoàn cảnh đời Lịch sử phát triển windowsphone Phần cứng Phần mềm 5.1 Giao diện 5.2 Nhập liệu 5.3 Các Hub phần mềm hãng thứ 5.3.1 Hub 5.3.2 Các tính Kiến trúc tổng quan windowsphone 7, Kết luận Chương 2: Công nghệ XNA Game studio Giới thiệu XNA Game studio Mô hình lớp thư viện XNA Giới thiệu đối tượng bản…………………… ………………………22 3.1 Đối tượng hình ảnh 2D…………………………… …………… 22 3.2 Touch Input………………………………………… ……….…….23 3.3 Audio…………………………………………………………… 27 3.4 Tạo ví dụ đơn giản………………………………………….…… 28 Cài đặt XNA Game Studio Cách thức hoạt động XNA Giới thiệu phần mềm mô windowsPhone emulator Chương : Tìm hiểu linq to sql …………………………………… .38 I Giới thiệu Linq Linq to Sql…………………………………… 38 Giới thiệu Linq…………………………………………………… .38 Giới thiệu Linq to Sql …………………………………… …39 II Mô hình liệu Linq To Sql ……………………………………….….…40 Các tạo file Linq to sql…………………………………………….….……40 Lớp dataContext……………………….………………………….….…….40 Cách tạo mô hình liệu………………………… ………………….… 41 III Truy vấn liệu với Linq To Sql……………………………… …… 41 Cấu trúc câu truy vấn linq to sql……………….…………………… 41 Cơ chế làm việc với sở liệu Linq to sql……………… … ……43 Cấu trúc để tạo câu truy vấn……………………………… …… 44 Các đối tượng hay sửdụng Linq to sql …………………….……… 45 Chương : Xâydựngtròchơibắnmáybay Bài toán Mô tả tròchơi Phân tích tròchơi 3.1 Sơ đồ ngữ cảnh mức hệ thống 3.2 Sơ đồ phân rã chức 3.3 Sơ đồ mức đỉnh 3.4 Sơ đồ mức đỉnh: 3.4.1 Sơ đồ chức bắt đầu: 3.4.2 Sơ đồ chức cài đặt 3.4.3 Sơ đồ chức thông tin tròchơi 3.4.4 Sơ đồ chức hướng dẫn Một số giải thuật tròchơi Trình bày số hàm trò chơi…… …………….……………………55 5.1 Máybay nhận vật phẩm……………………………………………… ….55 5.2 Hàm lấy tài nguyên ảnh, nhạc…………………………… …………… 56 5.3 Hàm tạo quân địch level ………………… ……………………… 57 Một số giao diệntròchơi TÀI LIỆU THAM KHẢO Danh mục hình ảnh Hình 1.1 Thị trường hệđiềuhànhdiđộng 2013……………………… … Hình 1.2 Pocket PC……………………………………… ……………… ….4 Hình 1.3 Điệnthoại HTC s620………………………………………….…….4 Hình 1.4 Giao diện cải thiện…………………… ………………….5 Hình 1.5 Samsung Focus………………………………………………….… Hình 1.6 ĐiệnthoạiWindowsPhone 7.5 (Mango)………………… ….……6 Hình 1.7 Điệnthoại chạy hệdiềuhànhwindowsphone 7.8…………… ….6 Hình 1.8 Điệnthoại Lumia 520………………………………………… … Hình 1.9 Outlook WP7……………………………………… …… …14 Hình 1.10 Khi có gọi đến, hình sổ suống khung nh ỏ chứa thông tin liên quan đến gọi ………………………………….… 15 Hình 1.11 Trình duyệt IE WP7…………………………………… ….16 Hình 1.12 Mô hình kiến trúc hệđiềuhànhWindowsPhone 7……… …… 17 Hình 2.1 Màn hình khởi tạo dự án ………………………………….…… 29 Hình 2.2 Thêm ảnh Solution Explorer………………………….…… 31 Hình 2.3 Màn hình chương trình chạy………………………………….… 3 Hình 2.4 Giao diện visual studio 2010 ……………………………….…… 34 Hình 2.5 Sơ đồ hoạt động game ………………………………… Hình 2.6 Điệnthoạisửdụnghệđiềuhànhwindows phone……………… 37 Hình 3.1 Mô hình tổng quan Linq……………………………….………38 Hình 3.2 Thêm Linq To Sql vào dự án………………………… …….… 40 Hình 3.3 Chức DataContext ………………………………… … 40 Hình 3.4 Ví dụ mô hình liệu ………………………………………….41 Hình 3.5 Sơ đồ thực câu lệnh Linq To Sql ……………………………42 Hình 3.6 chế hoạt động với sở liệu………….…………………… 43 Hình 3.7 ví dụ truy vấn sở liệu……………… …………… …… 44 Hình 3.8 đối tượng hay sử dụng…………………………….………… 45 Hình 4.1 Hình ảnh máy bay…………………………………………………48 Hình 4.2 Hình ảnh phi thuyền…………………………………………… 49 Hình 4.3 Các cấp độ đạn……………………………………… … 49 Hình 4.4 Sơ đồ ngữ cảnh……………………………… …….…………….50 Hình 4.5 Sơ đồ phân rã chức năng………………………….………….……50 Hình 4.6 Sơ đồ mức đỉnh……………………………………………………51 Hình 4.7 Sơ đồ chức bắt đầu…………………………….…………….52 Hình 4.8 Sơ đồ chức cài đặt………………………… ………….……53 Hình 4.9 Sơ đồ chức thông tin trò chơi……………………….……….53 Hình 4.10 Sơ đồ chức hướng dẫn………………………….………… 54 Hình 4.11 Menu trò chơi………………………… ….………….57 Hình 4.12 Màn hình cài đặt…………………………… ……….………….58 Hình 4.13 Cửa ải 001……………………………………………………… 58 Hình 4.14 Cửa ải 003………………………….…………………….……….59 Hình 4.15 Màn hình hướng dẫn trò chơi………………………….…………59 Mở Đầu Lý chọn đề tài Trong xu hướng phát triển ngành công nghệ thông tin, làm việc giải trí máy tính dần thay thế, chuy ển đ ổi lên thiết bị diđộng tính tất yếu ứng dụngdiđộng Tuy nhiên th ời điểm tại, lĩnh vực để phát triển ứng dụngdiđộng ch ưa nhiều Trong nhu cầu sửdụng thiết bị diđộng để giải trí, ch tròchơi ngày tăng WindowsPhonehệđiềuhành Microsoft dành cho smartphone kế tục tảng Windows Mobile, chúng không tương thích với Khác với Windows Mobile, WindowsPhone tập trung vào phát triển Marketplace - nơi nhà phát triển cung cấp sản phẩm (miễn phí có phí) tới người dùng Lập trình Game Windowsphone hướng mới, phải vận d ụng nhiều kiến thức công nghệ thông tin Từ thúc đẩy kh ả t ự nghiên cứu vận dụng kiến thức học áp dụng vào th ực tế Trên hệđiềuhànhWindowsPhone có số tròchơi tương t ự tròchơibắnmáy bay, nhiên cách chơi ccòn đơn giản, ch ưa tạo cảm giác chơi, đồ không tạo ngẫu nhiên nên gây nhàm chán chơi lại Tròchơibắnmáybay em xâydựng kh ắc ph ục đ ược thiếu sót thêm vào số chức Mục tiêu nhiệm vụ nghiên cứu Mục tiêu nghiên cứu: Xâydựng Game bắnmáybayhệ ều hànhWindowsphone Nhiệm vụ nghiên cứu: t hiểu cách làm vi ệc l ập o Thu thâp, đọc tài liệu, nghiên cứu tm tŕnh tảng Windowsphone o Tìm hiểu csdl Linq To Sql o Nghiên cứu thuật toán sửdụng Game o Phân tích thiết kế Game o Viết đề cương, báo cáo, cài đặt chương trình Phương pháp nghiên cứu - Đọc tài liệu lập trình game windowsphone Tài liệu Linq Tham gia thảo luận, hỏi đáp diễn đàn chuyên môn, tham kh ảo code ví dụ, hướng dẫn mạng Internet thuật toán, cách xử lý vấn đề gặp phải Tham gia thảo luận sinh viên có - chung đề tài, trao đổi ý kiến với giáo viên hướng dẫn Thực lập trình game, rút kinh nghiệm từ th ực tế Dự kiến kết Chương trình demo chạy thiết bị thật Nội dung đồ án - Tổng quan điệnthoại - Tìm hiểu hệđiềuhànhwindowsphone - Giới thiệu XNA Studio Game - Tìm hiểu Linq to Sql - Xâydựngtròchơibắnmáybay Do lĩnh vực đề tài tương đối rộng, thân kiến th ức có nhiều hạn chế nên đồ án không tránh kh ỏi nhiều sai sót Em mong góp ý bảo thầy cô bạn sinh viên đ ể nội dung đồ án hoàn thiện phong phú h ơn Một lần nữa, em xin chân thành cảm ơn thầy cô giáo khoa Công Nghệ Thông Tin, đặc biệt thầy giáo Phạm Tuấn Đạt tận tình giúp đỡ, bảo giúp em hoàn thành đồ án Chương 1: Cơ sở lý thuyết I Tổng quan điệnthoạidiđộng Sơ lược điệnthoạidiđộngĐiệnthoạidiđộng ngày trở thành vật dụng thiếu sống hàng ngày Mục đích ban đầu điệnthoạidiđộng tạo thuận lợi liên lạc, xóa bỏ hạn chế khoảng cách địa lý Tuy nhiên không dừng lại đó, điệnthoạidi đ ộng ngày phát triển mạnh mẽ chức Không đ ơn nghe, gọi hay nhắn tin SMS lúc đầu, mà ph ương tiện gi ải trí đa chức năng, công cụ hổ trợcho nhu cầu công việc người Khái niệm SmartPhone (điện thoại thông minh) ngày nhiều người biết đến Đây hệđiệnthoạisửdụnghệđiềuhành thông minh iOS, Android, WindowsPhone 7, RIM, BADA Để tạo môi trường cho ứng dụng khác phát triển có th ể nói điệnthoại thông minh dần chiếm giữ th ị trường di đ ộng số hãng sản xuất SmartPhone lớn giới Apple, Nokia, SamSung , BlackBerry, Sơ lược hệđiềuhànhdiđộng Với tiềm phát triển mạnh mẽ SmarPhone, hãng công nghệ lớn giới đua phát triển hệđiềuhành dành chođiệnthoạidiđộng nhằm mục đích thống lĩnh thị trường di đ ộng Theo thống kê năm 2013 thị phần hệđiềuhànhdiđộng sau: Hình 1.1 Thị trường hệđiềuhànhdiđộng 2013 Xâydựngtròchơibắnmáybaywindowsphone Trang 10 a) - Máybay : Hình 4.1 Hình ảnh máybay Khởi tạo vị trì hình, di chuyển qua lại trái phải Tự cập nhật vị trí nhận tín hiệu chạm tay Xác định va chạm với biên đồ để không chạy v ượt Có số đại lượng máu, điểm số, đan,…và có số ch ức tăng tốc, bắn đạn, ăn nguyên liệu để tăng đ ạn, điểm số b) Phi thuyền - Hình 4.2 Hình ảnh phi thuyền Một số thông tin tốc độ di chuyển, tốc độ bắn,… có ch ức c) nang bắn, tăng tốc đạn, di chuyển Tạo âm hình ảnh phi thuyền nổ Đạn - Hình 4.3 Các cấp độ đạn Xác định đường đạn vị trí bắn Xử lý va chạm đạn phi thuyền Nâng cấp đạn nhận thêm nguyên liệu Ngoài ta có thêm số chức chơi lại, cài đặt trò ch ơi, giới thiệu,… Xâydựngtròchơibắnmáybaywindowsphone Trang 59 3.1 Sơ đồ ngữ cảnh mức hệ thống Đối với tất toán phải phân tích để giải quy ết chức mà toán đảm nhận Đây sơ đồ ngữ cảnh chương trình , giúp ta nhìn cách tổng thể xâydựngtròchơibắnmáybayđiệnthoạihệđiềuhànhwindowsphone Ng ười chơi gửi yêu cầu cách chạm vào hình chức có, chương trình thực mở chức năng, thực chức Yêu cầu Người chơi Chương trình Đáp ứng yêu cầu Hình 4.4 Sơ đồ ngữ cảnh 3.2 Sơ đồ phân rã chức Qua thời gian tìm hiểu phân tích em sơ đồ ch ức c tròchơi sau : Tròchơibắnmáybay Bắt đầu Thông tin tròchơi Cài đặt Chơi Âm Tiếp tục Mức độ Xâydựngtròchơibắnmáybaywindowsphone Hướng dẫn Thoát Trang 60 Trở lại Vị trí bảng điểm Ngôn ngữ Hình 4.5 Sơ đồ phân rã chức Cũng giống bao tròchơi khác, tròchơibắnmáybay gồm có ch ức : - Bắt đầu : chạm vào chức người chơi tiến hành ch game, trình chơichơi lại, tiếp tục hay tr l ại - Cài đặt : cài đặt chung chotròchơi âm thanh, ngôn ngữ, vị trí bẳng điểm hay mức độ chơi dễ, trung bình, khó - Thông tin tròchơi : cho biết tác giả, thông tin version tròchơi - Hướng dẫn : giới thiệu cách chơiXâydựngtròchơibắnmáybaywindowsphone Trang 61 3.3 Sơ đồ mức đỉnh Hình 4.6 Sơ đồ mức đỉnh (1) Yêu cầu người chơitròchơi (2) Đáp ứng tròchơi với yêu cầu người chơi (3) Truy cập liệu trả lại thông tin người ch Người chơi đưa yêu cầu hệ thống chức chức đáp ứng yêu cầu người dùng thực chức khác bên ch ức chọn 3.4 Sơ đồ mức đỉnh: 3.4.1 Sơ đồ chức bắt đầu: Xâydựngtròchơibắnmáybaywindowsphone Trang 62 Đây chức cho phép người chơi bắt đầu đầu ch Trong chơi, người chơi tạm dừng , tiếp tục hay ch lại trò ch Trên điệnthoại Lumia có phím chức quay lại () sửdụng phím để tạm dừngtròchơi cài đặt số chức khác Hình 4.7 Sơ đồ chức bắt đầu (1) (2) (3) (4) Yêu cầu người chơitròchơi Đáp ứng tròchơi với yêu cầu người chơi Khởi tạo tròchơiban đầu Cập nhật lại liệu vị trí đối tượng nhớ 3.4.2 Sơ đồ chức cài đặt Chức cho phép ta thiết lập lựa chọn chung chotrò chơi, lựa chọn người chơi tắt/ bật âm thanh, chọn ngôn ng ữ hiển thị, mức độ (dễ, trung bình, khó), vị trí bảng điểm (trái,phải) Xâydựngtròchơibắnmáybaywindowsphone Trang 63 Hình 4.8 Sơ đồ chức cài đặt (1) (2) (3) Yêu cầu người chơitròchơi Đáp ứng tròchơi với yêu cầu người chơi Lấy liệu ghi lại liệu từ liệu có 3.4.3 Sơ đồ chức thông tin tròchơi Hình 4.9 Sơ đồ chức thông tin trò ch (1) (2) (3) Yêu cầu người chơitròchơi Đáp ứng tròchơi với yêu cầu người chơi Lấy thông tin tròchơi liệu Xâydựngtròchơibắnmáybaywindowsphone Trang 64 Từ hình ta thấy chức giúp cho người ch biết thông tin người viết tròchơi 3.4.4 Sơ đồ chức hướng dẫn Hình 4.10 Sơ đồ chức hướng dẫn (1) (2) (3) Yêu cầu người chơitròchơi Đáp ứng tròchơi với yêu cầu người chơi Lấy thông tin hướng dẫn cách chơi liệu Đây chức hướng dẫn cách chơi, hướng dẫn dùng tay ch ạm điệnthoại cảm ứng để di chuyển máybay hay ch ức khác trình chơi Một số giải thuật tròchơi a Giải thuật kiểm tra đạn có trúng phi thuyền không ? - Tại vị trí viên đạn ta sẻ kiểm tra xem t ại viên đạn có trúng phi thuyền không Nếu có trả giá b - trị không trả giá trị Một viên đạn bắn trúng phi thuyền tọa độ viên đạn - nằm bên phi thuyền Thông số biết : tọa độ thời viên đạn, vị trí hình ảnh phi thuyền di chuyển Giải thuật làm nổ máybay Khi viên đạn chạm vào phi thuyền thí xóa hình phi thuy ền thay vào hình ảnh nổ (ở đơn giản nh ững hình ảnh Xâydựngtròchơibắnmáybaywindowsphone Trang 65 vẽ trước rùi hiển ra) kèm theo phát âm c nổ Giải thuật vẽ đường viên đạn Để viên đạn chuyển động ta dùng phương pháp di chuy ển ảnh hinh, vị trí ban đầu viên đạn đầu máybay sau ảnh di chuyển phương với máybay Ta cho ảnh đạn di chuyển lên theo khoảng cách nh ất đinh Trình bày số hàm tròchơi 5.1 Máybay nhận vật phẩm public void GiaTriTungLoaiVatPham(Lop_Tau maybay) { if (danhsach_vatpham.Count == 0) return; Lop_VatPham.CacLoaiVatPham vp = TraVeVatPham(maybay); switch (vp) { case Lop_VatPham.CacLoaiVatPham.PhotonAmmo: //A maybay.DanPhoton += 25; break; case Lop_VatPham.CacLoaiVatPham.Weapons: //W if (maybay.VuKhiManh < LoaiVuKhi.Photon3) maybay.VuKhiManh++; break; case Lop_VatPham.CacLoaiVatPham.Hundred: //100 Lop_GiaoDien.goi_lopdiem.DiemSo += 100 * Lop_GiaoDien.goi_lopdiem.Wave; break; Xâydựngtròchơibắnmáybaywindowsphone Trang 66 case Lop_VatPham.CacLoaiVatPham.BlasterAmmo: //B maybay.DanLaser += 40; break; case Lop_VatPham.CacLoaiVatPham.Shield: //S maybay.BaoVe += 10; break; } Khi máybay nhận vật phẩm A : đạn photon tăng thêm 25 viên W : cấp độ đạn tăng thêm bậc 100 : thưởng 100 điểm B : đạn laser tăng thêm 40 viên S : máu tăng thêm 10 điểm 5.2 Hàm lấy tài nguyên ảnh, nhạc static void LayTaiNguyenNhac(ContentManager content) { Lop_GiaoDien.nhac_tancong = content.Load("NhacSuKien/nhac_cham"); Lop_GiaoDien.nhac_danlaserban = content.Load("NhacSuKien/nhac_danlaser"); Lop_GiaoDien.nhac_tauno = content.Load("NhacSuKien/nhac_tauno"); Lop_GiaoDien.nhac_dichnhadan = content.Load("NhacSuKien/nhac_dichban"); Lop_GiaoDien.nhac_ketthuc = content.Load("NhacSuKien/nhac_kethuc"); Lop_GiaoDien.nhac_thaydoivukhi = content.Load("NhacSuKien/nhac_thaydoivk"); } Xâydựngtròchơibắnmáybaywindowsphone Trang 67 5.3 Hàm tạo quân địch level for (int j=0; j