Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
1,79 MB
Nội dung
LỜI CẢM ƠN Em xin chân thành cảm ơn mơn Cơngnghệ lập trình ứng dụng, khoa Cơngnghệ thông tin, Trường Đại họcCôngnghệ thông tin truyền thông Thái nguyên tạo điều kiện thuận lợi cho em thực báo cáo Em xin chân thành cảm ơn Thầy Nguyễn Hải Minh người tận tình hướng dẫn, bảo cho em suốt thời gian thực báo cáo đồ án tốt nghiệp Em xin gửi lời cảm ơn sâu sắc đến quý thầy cô Khoa Bộ môn tận tình giảng dạy, trang bị cho em kiến thức quý báu năm học vừa qua Mặc dù em cố gắng hoàn thành báo cáo phạm vi khả cho phép, chắn khơng tránh khỏi thiếu sót, kính mong cảm thơng tận tình bảo q thầy cô bạn Thái Nguyên, tháng năm 2017 Sinh Viên Hoàng Quốc Bảo LỜI CAM ĐOAN Em xin cam đoan đồ án em, có hỗtrợtừ giáo viên hướng dẫn T.S Nguyễn Hải Minh - mơn lập trình ứng dụng, trường Đại HọcCôngnghệ thông tin truyền thông Thái Nguyên, Đại Học Thái Nguyên Em xin cam đoan nội dungnghiêncứu kết đề tài trung thực không chép từ báo cáo thực tập đồ án khác trước Những số liệu bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá thân thu thập từ nguồn khác Nếu có gian lận em xin hồn toàn chịu trách nhiệm trước Hội đồng Thái Nguyên, tháng năm 2017 Sinh Viên Hoàng Quốc Bảo MỤC LỤC MỤC LỤC MỤC LỤC HÌNH ẢNH LỜI NÓI ĐẦU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Đatảng hệ điều hành thiết bị di động 1.1.1 Giới thiệu Windows Phone 1.1.2 Giới thiệu hệ điều hành Android 1.1.3 Giới thiệu iOS 10 1.2 Game Engine Unity3D 11 1.2.1 Lý chọn Unity Engine 12 1.2.2 Unity Engine 13 1.2.3 Tổng quan kiến trúc engine Unity 23 1.3 Sơ lược ngơn ngữ lập trình C# 26 1.4 Giới thiệu công cụ Visual studio 26 1.5 Tổng Quan phân tích thiết kế hướng đối tượng sử dụng UML 27 1.5.1 Các thành phần UML 27 1.5.2 Biểu đồ Usecase 28 1.5.3 Biểu đồ lớp(class diagram) 28 1.5.4 Biểu đồ trình tự 29 CHƯƠNG 2: KHẢO SÁT MỘT SỐ GAME MOBILE ĐANG CÓ TRÊN THỊ TRƯỜNG 30 2.1 Khái niệm Game mobile 30 2.2 Đặc điểm game mobile 30 2.2.1 Tính động tiện lợi 30 2.2.2 Chi phí thấp 30 2.2.3 Chất lượng 31 2.2.4 Phù hợp với đối tượng nữ giới trẻ em 31 2.2.5 Phong phú có giá trị trải nghiệm cao 32 2.3 Một số game tương tự thị trường 32 2.3.1 Game Ghép chữ đánh vần 32 2.3.2 Game Học cách đánh vần viết 34 2.4 Đề xuất ý tưởng 35 CHƯƠNG 3: PHÂN TÍCH – THIẾT KẾ 36 3.1 Yêu cầu trò chơi 36 3.2 Phân tích yêu cầu liệu 36 3.3 Phân tích yêu cầu chức năng, biểu đồ trường hợp có sẵn 36 3.3.1 Tác nhân 36 3.3.2 Các biểu đồ Usecase 37 3.3.3 Biểu đồ hoạt động 38 3.3.4 Biểu đồ trình tự 39 3.3.5 Biểu đồ lớp 40 3.3.6 Biểu đồ cộng tác 40 CHƯƠNG 4: XÂY DỰNGỨNGDỤNG GAME XẾP CHỮ 41 4.1 Giới thiệu game 41 4.2 Xây dựng game 41 4.3 Một số hình ảnh game 44 4.4 Cách chơi 46 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁTTRIỂN 47 TÀI LIỆU THAM KHẢO 48 MỤC LỤC HÌNH ẢNH Hình 1.1 Hệ điều hành Windows Phone Hình 1.2 Giới thiệu android Hình 1.3 Giới thiệu iOS 10 Hình 1.4 iOS mắt với nhiều tính hấp dẫn 11 Hình 1.5 Logo Unity3D 13 Hình 1.6 Giao diện Editer Unity3d 15 Hình 1.7 Các nút điều khiển 15 Hình 1.8 Chọn đối tượng Scene Hierrarchy 16 Hình 1.9 Cửa sổ Inspector hiển thị thơng tin đối tượng 17 Hình 1.10 Asset Unity 19 Hình 1.11 Các scene Unity 20 Hình 1.12 Kéo tài nguyên vào Scene để sử dụng 20 Hình 1.13 Các thành phần đối tượng Camera 21 Hình 1.14 Cách tạo file script 21 Hình 1.15 Một file script gắn vào đối tượng 22 Hình 1.16 Material Shader 23 Hình 1.17 Tổng quan kiến trúc Unity 24 Hình 1.18 Chu kỳ sống thành phần script 25 Hình 1.19 Hình ảnh biểu tượng C# 26 Hình 1.20 Hình ảnh Visual Studio 26 Hình Đồ họa game mobile cải tiến nhiều 31 Hình 2 Các chợ ứng khổng lồ sãn sang phục vụ người dùng 32 Hình Game Ghép Chữ Và Đánh Vần 32 Hình 2.4 Giao diện bắt mắt 33 Hình 2.5 Nhưng ngôn ngữ lại tiếng Anh 33 Hình 2.6 Game học cách đánh vần viết 34 Hình 2.7 Giao diện trò chơi 34 Hình 2.8 Ngơn ngữ tiếng Anh Tây Ban Nha 35 Hình Tác nhân Player 36 Hình 3.2 Usecase hệ thống 37 Hình 3.3 Biểu đồ trình tự 39 Hình 3.4 Biểu đồ lớp 40 Hình 3.5 Biểu đồ cộng tác 40 Hình 4.1 Giao diện trò chơi 44 Hình 4.2 Màn chơi 44 Hình 4.3.Trả lời xác 45 Hình 4.4 Chọn chơi 45 Hình 4.5 Xác nhận trò chơi 46 Hình 4.6 Giao diện chơi 46 LỜI NÓI ĐẦU Hiện nay, việc lập trình game mobile khơng q xa lạ với nhiều người , đặc biệt sau thành công Nguyễn Hà Đơng với trò chơi “Flapy Bird” làm mưa làm gió thời gian dài cộng đồng mạng độ khó chơi Với thị trường Việt Nam rộng lớn với 90 triệu đa phần dân số trẻ nên thị trường game mobile rộng lớn, với thị trường rộng lớn doanh thu mang lại lớn, năm 2014 500 tỷ tăng dần theo thời gian, với số vốn đầu tư ban đầu không cần nhiều, chút kiến thức đồ họa, kinh nghiệm lập trình với PC tầm trung bạn tự tạo sản phầm game riêng Ở Việt Nam có số lượng khơng nhỏ startup làm game, kể đến : Joy Entertainment, Divmob, ColorBox, v.v , có nhiều lập trình viên độc lập Với suy nghĩ có kiến thức nênvậndụng cách triệt để cộng thêm việc u thích tựa game tiếng giới, em bắt đầu tìm hiểu nghiêncứu cách lập trình game cách thực nghiêm túc có số kinh nghiệm định Khi nhận đề tài, em nhận thấy việc pháttriển game mobile với công cụ hỗtrợ - game engine - trường ĐH CNTT & TT Thái Nguyên mẻ em nhận đề tài: “Nghiên cứucôngnghệđatảngUnity3Dpháttriểnứngdụnghỗtrợemtựhọcghép vần” Bố cục báo cáo gồm chương: Chương 1: Cơ sở lý thuyết Chương 2: Khảo sát số game mobile có thị trường Chương 3: Phân tích thiết kế Chương 4: Xây dựngứngdụnghỗtrợemtựhọcghépvần CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Đatảng hệ điều hành thiết bị di động Đatảng theo cách hiểu đơn giản đatảng hiểu nhiều tảng, ngôn ngữ chạy từtảngtrở lên gọi ngơn ngữ lập trình đa tảng? Đây giải thích chưa hoàn toàn Như biết, ngày hệ điều hành dần trởnên phổ biến, đa dạng ngày có nhiều HĐH Android, iOS, window mobile, windows desktop, windows server, linux (ubuntu, debian, suse…), macOS, chromeOS, firefoxOS, tizen … Thì khái niệm đatảng không dừng lại mà nhiều hơn, tất Vậy ngơn ngữ lập trình đatảng ngơn ngữ chạy nhiều tảng kể di động desktop Và đích hướng đến lập trình viên, framework thời gian tới Hệ điều hành chương trình chạy hệ thống máy tính, quản lý tài nguyên máy tính mơi trường cho ứngdụng chạy Ngày nay, khái niệm hệ điều hành khơng máy tính mà mở rộng cho nhiều thiết bị điện tử khác chẳng hạng điện thoại thơng minh (smartphone), máy tính bảng v.v… Như hệ điều hành di động hệ điều hành chạy hệ thống máy có tính di động cao Với đặc thù đó, hệ điều hành di động phải có khả đặc biệt mà hệ điều hành thơng thường khơng có Chẳng hạn phải chạy hệ thống máy có cấu hình máy hạn chế tốc độ vi xử lý, nhớ sử dụng, phải chạy ổn định liên tục thời gian dài mà sử dụng lượng điện nhỏ, suốt thời gian chạy trì kết nối mạng khơng dây để đảm bảo liên lạc 1.1.1 Giới thiệu Windows Phone Khoảng trước năm 2010, Microsoft sống ngày huy hồng suốt q trình tham gia vào việc pháttriển hệ điều hành cho tảng di động mà Windows Mobile hãng đánh bại Palm trở thành tảng lớn vào thời điểm Nhưng đời IPhone OS (viết tắt iOS) Android sau làm cho Windows Mobile dần lụi tàn Windows Phone hệ điều hành Microsoft dành cho smartphone kế tục tảng Windows Mobile Khác với Windows Mobile, Windows Phone tập trung vào pháttriển Marketplace (Sau đổi tên thành Store) - nơi nhà pháttriển cung cấp sản phẩm (miễn phí có phí) tới người dùng Với Windows Phone, Microsoft pháttriển giao diện người dùng mang tên Metro - tích hợp khả liên kết với phần cứng phần mềm hãng thứ ba cách dễ dàng Microsoft pháttriển Windows phone qua phiên Windows Phone 7, Windows Phone 8, Windows Phone 8.1, pháttriển hệ điều hành có tên Windows 10 for Phone Hình 1.1 Hệ điều hành Windows Phone 1.1.2 Giới thiệu hệ điều hành Android Hình 1.2 Giới thiệu android Android tên tảng mở cho thiết bị di động Google (gồm hệ điều hành – [linux base], middleware số ứngdụng bản) Android đương đầu với số hệ điều hành dành cho thiết bị di dộng khác hâm nóng thị trường Windows phone, Symbian dĩ nhiên OS X (iPhone) Android thu hút ý giới côngnghệ khắp toàn cầu đứa Google sử dụng giấy phép mã nguồn mở Đó sản phẩm kết tinh từ ý tưởng Khối Liên minh thiết bị cầm tay mở Google dẫn đầu, gồm 34 thành viên với công ty hàng đầu cơngnghệ di động tồn cầu Qualcomm, Intel, Motorola, Texas Instruments LG Electronics, nhà mạng T-Mobile, Sprint Nextel, NTT DoCoMo China Mobile Các nhà pháttriển sử dụng miễn phí Android Software Development Kit (SDK) để xây dựngứngdụng 1.1.3 Giới thiệu iOS Hình 1.3 Giới thiệu iOS IOS hệ điều hành di dộng Apple ban đầu gọi hệ điều hành dành cho iPhone đến tháng năm 2010 thức đổi gọi tên “iOS” Ban đầu, hệ điều hành pháttriển riêng cho iPhone sau mở rộng để hỗtrợ thiết bị khác Apple iPod touch, iPad Apple TV Hệ điều hành di dộng Apple công bố iPhone 2G Macworld Conference & Expo vào ngày 9/1/2007 thức phát hành tháng sau Khi mắt, hệ điều hành không Apple định tên riêng biệt mà đơn giản gọi "hệ điều hành X dành cho iPhone” không hỗtrợứngdụngtừ nhà pháttriển thứ Nguyên nhân việc từ chối ứng 10 2.3.2 Game Học cách đánh vần viết Hình 2.6 Game học cách đánh vần viết Hình 2.7 Giao diện trò chơi 34 Hình 2.8 Ngơn ngữ tiếng Anh Tây Ban Nha 2.4 Đề xuất ý tưởng Gia đình em có chị gái có cháu nhỏ học sinh tiểu học, trình chị dạy thêm cháu học nhà em thấy trình dạy họcghép chữ, ghépvần cho cháu khó khăn Và q trình học tập trường ĐH CNTT Truyền Thông em thấy CNTT pháttriển việc đổi phương pháp dạy họchọc trực tuyến E-Learing Dựa vào em nghĩ đến ý tưởng trò chơi “Em tựhọcghép vần” Trò chơi sử dụng hình ảnh, số lượng ô chữ, chữ cho sẵn để gợi ý, người chơi cần bám sát chi tiết hình ảnh,dựa vào số lượng chữ chữ cho để đốn đáp án xác Trò chơi tạo hứng thú cho em vừa học vừa chơi 35 CHƯƠNG 3: PHÂN TÍCH – THIẾT KẾ 3.1 Yêu cầu trò chơi Yêu cầu trò chơi hồn thành phải có đặc điểm sau: - Có hình ảnh gợi ý - dãy n ô chữ để điền đáp án - dãy k chữ gợi ý (trong k > n, số k chữ có n chữ ghép thành từ có nghĩa, k-n chữ lại dùng để gây nhiễu) - Có nhiều câu hỏi khác - Có thơng báo người chơi đốn đúng/sai 3.2 Phân tích u cầu liệu Dữ liệu đầu vào: Hình ảnh gợi ý, số lượng ô chữ, chữ gợi ý, đáp án Dữ liệu đầu ra: Đáp án người chơi 3.3 Phân tích yêu cầu chức năng, biểu đồ trường hợp có sẵn 3.3.1 Tác nhân Tác nhân trò chơi Player Player sử dụng hệ thống để chơi thông qua chức hệ thống Hình Tác nhân Player 36 3.3.2 Các biểu đồ Usecase - Biểu đồ Usecase tổng quát: Hình Usecase hệ thống Use case Play game - Mục đích: Là nơi player tương tác với hệ thống thơng qua hành động - Tác nhân: Player - Tiền điều kiện: khơng có - Luồng kiện: Hành động người dùng Player Phản ứng hệ thống Level Select lựa chọn Hệ thống nhận yêu cầu chọn hành chơi động Hiển thị chơi chọn Move Word Nhận yêu cầu di chuyển từ player Di chuyển chữ đến vị trí chữ 37 So sánh chữ người chơi đốn với đáp án Đúng: qua chơi Sai: Chơi lại Sugguest Nhận yêu cầu từ player 10 Hiển thị gợi ý 11 Quit Game 12 Hiển thị thơng báo xác nhận Có: Khơng: trở lại chơi - Hậu điều kiện: khơng có 3.3.3 Biểu đồ hoạt động 38 3.3.4 Biểu đồ trình tự Hình 3.3 Biểu đồ trình tự 39 3.3.5 Biểu đồ lớp Hình 3.4 Biểu đồ lớp 3.3.6 Biểu đồ cộng tác Hình 3.5 Biểu đồ cộng tác 40 CHƯƠNG 4: XÂY DỰNGỨNGDỤNG GAME XẾP CHỮ 4.1 Giới thiệu game Tên game: EmtựhọcghépvầnNền tảng: Android Version: 1.0 – beta Công cụ phát triển: Unity 5.0, Visual Studio 2013 Ngơn ngữ lập trình: C# Thể loại: Giải đố, Giáo Dục 4.2 Xây dựng game - Code di chuyển chữ game: Phần code gán vào chữ game với chức kéo thả 41 - Code điều khiển ô chữ: Phần code gán vào ô chữ để nhận chữ thả vào - Code quản lý thời gian: 42 Hàm timeManager dùng để quản lý thời gian trả lời câu hỏi Người chơi có khoảng thời gian cho trước (60 giây) cho câu hỏi, hết khoảng thời gian mà người chơi chưa trả lời tính thua - Code hàm checkKQ kiểm tra người chơi trả lời hay chưa: Bắt đầu hàm khởi tạo biến kq có giá trị rỗng Vòng lặp foreach dùng để kiểm tra chữ mà người chơi di chuyển vào ô chữ (được lưu mảng slots) Khi người chơi di chuyển chữ vào ô chữ biến kq cộng thêm giá trị chữ Câu lệnh if so sánh giá trị biến kq dapan (đáp án câu hỏi), kq == dapan thì: biến isCorrect = true , crTime = countTime (thời gian trả lời câu hỏi dừng lại , không chạy nữa), lên dòng chữ thơng báo trả lời đúng, tab.active = true hiển thị bảng cho phép người chơi chơi 43 lại chuyển sang câu hỏi khác Còn kq != dapan thơng báo chưa đúng, người chơi tiếp tục chơi tìm đáp án 4.3 Một số hình ảnh game Hình 4.1 Giao diện trò chơi Hình 4.2 Màn chơi 44 Hình 4.3.Trả lời xác Hình 4.4 Chọn chơi 45 Hình 4.5 Xác nhận trò chơi 4.4 Cách chơi Hình 4.6 Giao diện chơi Trong khoảng thời gian cho trước, người chơi dựa vào hình gợi ý, số lượng n chữ cho, k chữ gợi ý để đoán đáp án Sau đoán đáp án người chơi kéo/thả chữ từ ô chữ gợi ý vào ô chữ tương ứng Khi người chơi đoán đáp án có thơng báo lên Khi trả lời đáp án người chơi có lựa chọn: chơi lại vừa chơi chơi 46 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁTTRIỂN Kết đạt Trò chơi có yếu tố: - Có hình ảnh gợi ý - dãy chữ để điền đáp án - dãy chữ gợi ý - Có nhiều câu hỏi khác - Có thơng báo người chơi đốn đúng/sai - Có phần gợi ý người chơi thấy khó khăn việc phán đốn đáp án Những khó khăn vấn đề chưa giải Khó khăn: Khi xây dựngtrò chơi phần mà em thấy khó khăn để xử lý tiếng Việt Unity3D engine không hỗtrợ tiếng Việt Vấn đề chưa giải được: - Chưa code theo mơ hình kiến trúc phần mềm đại MVC - Chưa tối ưu hóa đồ họa game - Còn câu hỏi - Chưa xây dựng câu hỏi theo chương trình họcvần bé Hướng pháttriển - Code lại theo mơ hình kiến trúc phần mềm đại MVC - Tối ưu hóa đồ họa cho game - Tăng số lượng câu hỏi - Xây dựng lại theo chương trình họcvần sách giáo khoa cấp 47 TÀI LIỆU THAM KHẢO [1] Anh Quang, Phan Hồng, Giáo trình tựhọc lập trình C# [2] Phạm Hồng Tài, Tựhọc C#, 2013 [3] Nguyễn Văn Ba, Phân tích thiết kế hệ thống thông tin, 2002 [4] Simon Jackson, “Unity3D UI Essentials”, 2015 [5] Alex Okita, “Learing C# Programing with Unity3D”, 2015 [6] Unity3D, http://docs.unity3d.com/Manual/index.html, 2015 [7] Youtube.com 48 ... phát triển game mobile với công cụ hỗ trợ - game engine - trường ĐH CNTT & TT Thái Nguyên mẻ em nhận đề tài: Nghiên cứu công nghệ đa tảng Unity 3D phát triển ứng dụng hỗ trợ em tự học ghép vần ... Xây dựng ứng dụng hỗ trợ em tự học ghép vần CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Đa tảng hệ điều hành thiết bị di động Đa tảng theo cách hiểu đơn giản đa tảng hiểu nhiều tảng, ngơn ngữ chạy từ tảng trở... việc từ chối ứng 10 dụng từ bên thứ Steve Jobs đưa nhà phát triển xây dựng ứng dụng trùng chức với ứng dụng gốc iPhone Đến ngày 17/ 10/ 2007, Apple thông báo phát triển công cụ phát triển phần