Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động (2014)

63 10 0
  • Loading ...
1/63 trang

Thông tin tài liệu

Ngày đăng: 16/04/2018, 17:11

TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN -*** - NGUYỄN THỊ KIM HOA TÌM HIỂU MỘT SỐ NGƠN NGỮ LẬP TRÌNH GAME TRÊN ĐIỆN THOẠI DI ĐỘNG KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Tin học Ngƣời hƣớng dẫn khoa học PGS TS TRỊNH ĐÌNH THẮNG HÀ NỘI – 2014 LỜI CẢM ƠN Em xin chân thành cảm ơn PGS TS Trịnh Đình Thắng giúp đỡ em hồn thành khóa luận Em xin chân thành cảm ơn thầy cô khoa Công nghệ thông tin – trƣờng Đại học sƣ phạm Hà Nội truyền đạt vốn kiến thức quý báu cho em nghiên cứu đề tài công việc sau Vì vốn kiến thức khả thân em hạn chế nên khóa luận nhiều thiếu sót, em mong nhận đƣợc ý kiến đóng góp thầy để em hồn thiện khóa luận Em xin chân thành cảm ơn! Hà Nội, tháng năm 2014 Sinh viên Nguyễn Thị Kim Hoa LỜI CAM ĐOAN Tên em là: NGUYỄN THỊ KIM HOA Sinh viên lớp: K36 – Tin học, khoa Công nghệ thông tin, trƣờng Đại học sƣ phạm Hà Nội Em xin cam đoan: Đề tài: “Tìm hiểu số ngơn ngữ lập trình game điện thoại di động” nghiên cứu riêng em, dƣới hƣớng dẫn thầy giáo PGS.TS Trịnh Đình Thắng Khóa luận hồn tồn khơng chép tác giả khác Nếu sai em xin hoàn toàn chịu trách nhiệm Hà Nội, tháng năm 2014 Ngƣời cam đoan Nguyễn Thị Kim Hoa MỤC LỤC MỞ ĐẦU CHƢƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Lịch sử phát triển điện thoại di động 1.2 Hệ điều hành Android 12 1.3 Ngơn ngữ lập trình game 22 CHƢƠNG 2: MỘT SỐ NGÔN NGỮ LẬP TRÌNH GAME 23 2.1 Java 23 2.1.1 Java gì? 23 2.1.2 Đặc trƣng Java 23 2.1.3 Máy ảo Java (JVM – Java Virtual Machine) 26 2.1.4 Bộ công cụ phát triển JDK (Java Development Kit) 30 2.1.5 Các ứng dụng Java 31 2.2 Objective-C 32 2.2.1 Objective-C gì? 32 2.2.2 Lịch sử phát triển 32 2.2.3 Phƣơng thức Objective-C 33 2.2.4 Category Objective-C 33 2.2.5 Protocol Objective-C 33 2.2.6 Selector Objective-C 34 2.2.7 Kế thừa Objective-C 34 2.2.8 Xử lý ngoại lệ 34 2.2.9 Quản lý nhớ 34 2.3 C# 37 2.3.1 C# gì? 37 2.3.2 Đặc điểm C# 40 2.3.3 Kiểu liệu C# 40 2.3.4 Lớp đối tƣợng C# 41 2.3.5 Kế thừa – đa hình 42 2.3.6 Cấu trúc C# 42 2.3.7 Thực thi giao diện 42 2.3.8 Mảng, mục 43 2.3.9 Xử lý ngoại lệ 43 CHƢƠNG 3: XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG 44 3.1 Giới thiệu toán 44 3.2 Một số phƣơng thức 45 3.2.1 Phƣơng thức start Level 45 3.2.2 Phƣơng thức tạo đƣờng bay viên đạn 46 3.2.3 Phƣơng thức kiểm tra anchor xung quanh star 48 3.2.4 Phƣơng thức tìm star type với star 49 3.2.5 Phƣơng thức Game Over 50 3.3 Thiết kế chƣơng trình 53 3.3.1 Giao diện 53 3.3.2 Cửa hàng game 53 3.3.3 Bắt đầu game 54 3.3.4 Kết hợp màu 54 3.3.5 Kết thúc game 55 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 56 TÀI LIỆU THAM KHẢO 57 DANH MỤC HÌNH Hình 1.1 Chiếc điện thoại Hình 1.2 Motorola DynaTAC 8000X Hình 1.3 Nokia Mobira Senator Hình 1.4 PDA Simon Personal Communicator Hình 1.5 Motorola StarTAC Hình 1.6 Nokia 6160 Nokia 8260 Hình 1.7 Kyocera QCP6035 Hình 1.8 Handspring Treo 180 Hình 1.9 Danger Hiptop Hình 1.10 BlackBerry 5810 Hình 1.11 Sanyo SCP-5300 Hình 1.12 Nokia N-Gate 10 Hình 1.13 Motorola Razt v3 10 Hình 1.14 Motorola Rokr 11 Hình 1.15 BlackBerry Pearl 11 Hình 1.16 Iphone 12 Hình 1.17 Các phiên hệ điều hành Android 15 Hình 1.18 Android Market 19 Hình 1.19 Cấu trúc stack hệ thống Android 21 Hình 3.1 Form kích hoạt trò chơi 53 Hình 3.2 Form cửa hàng game 53 Hình 3.3 Form bắt đầu game 54 Hình 3.4 Form kết hợp ngơi màu 54 Hình 3.5 Form kết thúc game 55 MỞ ĐẦU Lý chọn đề tài Hiện với phát triển khoa học công nghệ, điện thoại di động không đơn để liên lạc với mà chơi game, nghe nhạc, kết nối internet, gửi mail, … Sự phát triển mạnh mẽ thiết bị di động thông minh smartphone, tablet, … yêu cầu ứng dụng thiết bị di động phải đáp ứng đƣợc nhu cầu ngƣời sử dụng Lập trình game điện thoại di động lĩnh vực thu hút nhiều bạn trẻ Nói đến lập trình khơng thể khơng nhắc tới ngơn ngữ lập trình Hiện có nhiều ngơn ngữ lập trình ngơn ngữ lập trình có mạnh riêng Chính em chọn đề tài Tìm hiểu số ngơn ngữ lập trình game điện thoại di động để làm khóa luận tốt nghiệp đại học Mục đích nghiên cứu - Nghiên cứu ngơn ngữ lập trình game điện thoại di động nhƣ: Java, Objective-C, C# - Ứng dụng ngôn ngữ Java để lập trình game điện thoại có hệ điều hành Android Nhiệm vụ nghiên cứu - Tìm hiểu số ngơn ngữ lập trình game thƣờng dùng: Java, ObjectiveC, C# - Ứng dụng ngơn ngữ lập trình Java để xây dựng game cho điện thoại di động sử dụng hệ điều hành Android Đối tƣợng nghiên cứu Các ngơn ngữ lập trình game điện thoại di động: Java, Objective-C, C# Phạm vi nghiên cứu Lập trình game điện thoại thơng minh ngơn ngữ lập trình game thƣờng đƣợc sử dụng Phƣơng pháp nghiên cứu Phương pháp nghiên cứu tự luận: Nghiên cứu thực trạng, đọc tài liệu, giáo trình có liên quan tới ngơn ngữ lập trình game lập trình game điện thoại di động thông minh Phương pháp tổng kết kinh nghiệm: Qua việc nghiên cứu tài liệu, giáo trình, rút kinh nghiệm lựa chọn ngơn ngữ lập trình phù hợp Phương pháp lấy ý kiến chuyên gia: Lấy ý kiến giảng viên trực tiếp hƣớng dẫn, giảng viên môn để hồn thiện mặt nội dung hình thức khóa luận Cấu trúc khóa luận Ngồi phần mở đầu, kết luận hƣớng phát triển khóa luận có nội dung sau: Chƣơng 1: Cơ sở lý thuyết – Chƣơng trình bày đơi nét lịch sử phát triển điện thoại di động, hệ điều hành Android ngơn ngữ lập trình game Chƣơng 2: Một số ngơn ngữ lập trình game – Chƣơng trình bày rõ số ngơn ngữ lập trình game điện thoại di động phổ biến nay: Java, Objective-C, C# Chƣơng 3: Xây dựng chƣơng trình ứng dụng – Xây dựng game ngôn ngữ Java cho điện thoại sử dụng hệ điều hành Android CHƢƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Lịch sử phát triển điện thoại di động Tiến sĩ Martin Cooper, cựu tổng giám đốc đơn vị hệ thống Motorola, đƣợc coi “cha đẻ” thiết bị liên lạc di động cầm tay ngƣời thực gọi thông qua công cụ Ngày 3/4/1973, đứng phố gần khách sạn Manhattan Hilton, Cooper định thử thực gọi riêng trƣớc lên gác tham dự họp báo giới thiệu thiết bị Cú điện thoại đƣợc ơng gọi tới đối thủ cạnh tranh mình: Joel Engel, Giám đốc Trung tâm thí nghiệm Bell Labs Thật tuyệt vời, “hòn gạch” biết nói nặng 1kg Cooper hoạt động tốt, kết nối ông với trạm thu phát đặt tòa tháp Burlington Consolidated (nay tòa nhà Alliance Capital Building) New York, đồng thời liên lạc đƣợc với đƣờng dây cố định Những ngƣời qua đƣờng tỏ ngạc nhiên thấy ngƣời đàn ơng bấm bấm cơng cụ đó, áp sát vào tai say sƣa nói chuyện Chiếc điện thoại Motorola Dyna Tac điện thoại di động Chiếc điện thoại có kích thƣớc 22,86 x 12,7 x 4,44 cm, trọng lƣợng 1,13kg Chiếc điện thoại khơng có hình nhƣng thời lƣợng thoại điện thoại đƣợc 35 phút thời lƣợng pin 10 tiếng Số bo mạch điện điện thoại 30 Tính mà điện thoại thực nói, nghe quay số Hình 1.1 Chiếc điện thoại Chiếc điện thoại di động tiến sĩ Cooper đặt móng cho phát triển nhƣ vũ bão điện thoại di động sau 1.1.1 Motorola DynaTAC 8000X (1983) Dù Martin Cooper thực gọi vào năm 1973 nhƣng phải thập niên điện thoại di động thƣơng mại đời Motorola DynaTAC 8000X cho phép đàm thoại giờ, nhớ lƣu 30 số Trơng bề ngồi thiết bị khơng đẹp mắt nhƣng lại cho phép bạn vừa vừa nói chuyện đâu Hình 1.2 Motorola DynaTAC 8000X thực điều Khi lớp thực thi giao diện, lớp báo cho thành phần client biết lớp có hỗ trợ phƣơng thức, thuộc tính, kiện mục khai báo giao diện 2.3.8 Mảng, mục Mảng tập hợp có thứ tự đối tƣợng, tất đối tƣợng kiểu Mảng ngơn ngữ C# có vài khác biệt so với mảng ngôn ngữ C++ số ngơn ngữ khác, chúng đối tƣợng Điều cung cấp cho mảng sử dụng phƣơng thức thuộc tính Bộ mục chế cho phép thành phần client truy cập tập hợp chứa bên lớp cách sử dụng cú pháp giống nhƣ truy cập mảng ([]) Chỉ mục loại thuộc tính đặc biệt bao gồm phƣơng thức get() set() để xác nhận hành vi chúng 2.3.9 Xử lý ngoại lệ Khi chƣơng trình gặp tình ngoại lệ nhƣ thiếu nhớ tạo ngoại lệ Khi ngoại lệ đƣợc tạo ra, việc thực thi chức hành bị treo việc xử lý ngoại lệ tƣơng ứng đƣợc tìm thấy 43 CHƢƠNG 3: XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG 3.1 Giới thiệu toán Phát biểu toán nhƣ sau: Xây dựng game Stars fall cho điện thoại di động Android ngơn ngữ Java Giải tốn: Stars fall game thuộc thể loại bắn súng Nhiệm vụ: Nhiệm vụ bạn bắn hạ với số lƣợng nhiều cách sử dụng Những bị hạ bạn kết hợp đƣợc từ ba màu trở lên Cách tính điểm: Game đƣợc xây dựng có hai type là: Challenge Endless Challenge type game chơi có giới hạn thời gian Thời gian cho lƣợt chơi 60 giây Trong thời gian bạn phải bắn hạ đƣợc nhiều ngơi để ghi điểm cao Mỗi bắn hạ bạn ghi đƣợc 20 điểm Chỉ màu với ngơi đạn bị nổ đƣợc tính điểm Ngồi việc bắn hạ ngơi bạn nhiệm vụ bắn hạ đĩa bay, đĩa bay bị bắn hạ bạn ghi đƣợc 1000 điểm Endless game tính điểm lên level Endless đƣợc xây dựng với 15 level Để win đƣợc level bạn phải vƣợt qua đƣợc mức điểm 1000, level 3000, level 6000 Cứ nhƣ level cách 3000 điểm Điểm level đƣợc cộng dồn với Level cao tốc độ di chuyển khối nhanh đa dạng màu sắc Khi bạn không phá đƣợc mà để khối di chuyển xuống vạch ngăn cách Game Over 44 3.2 Một số phƣơng thức 3.2.1 Phƣơng thức startLevel public void startLevel(int levelNumber) { isGameOver = false; isGameLevelUp = false; worldGame.clearActions(); if (levelNumber = starIndexL; j ) { star = row.getStar(j); if (star == null) continue; starCenter.set(GlobalData.STAR_HALF_WIDTH, GlobalData.STAR_HALF_HEIGHT); starCenter = star.localToStageCoordinates(starCenter); if (Geometry2D.intersectCircleAndLine(starCenter.x, starCenter.y, GlobalData.STAR_WIDTH, a, b, c)) { return star; } } } Viên đạn bay từ trái qua phải } else if (-a / b > 0) { intersectionL = Geometry2D.intersectLineAndLine(a, b, c, 0, 1, -row.getY() + GlobalData.STAR_HALF_HEIGHT); intersectionR = Geometry2D.intersectLineAndLine(a, b, c, 0, 1, -row.getY() - * GlobalData.STAR_HALF_HEIGHT); starIndexL = row.getStarIndex(intersectionL.x - GlobalData.STAR_WIDTH); starIndexL = Math.max(0, starIndexL); starIndexR = row.getStarIndex(intersectionR.x + GlobalData.STAR_WIDTH); starIndexR = Math.min(row.size() - 1, starIndexR); for (int j = starIndexL; j 0) { row = (StarRow) worldGame.getStarsLayer().getChildren() get(index ); if (!row.isNull()) { if (row.getY() < GlobalData.DEAD_LINE && !isGameOver) { gameOver(); } break; } } if (GameData.gameMode == GAME_MODE.CHALLENGE) { if (playerData.getRemainTime()
- Xem thêm -

Xem thêm: Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động (2014) , Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động (2014)

Từ khóa liên quan

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay