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

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 181 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 63
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lý do chọn đề tài Hiện nay với sự phát triển của khoa học công nghệ, chiếc điện thoại di động không chỉ đơn thuần để liên lạc với nhau mà nó còn có thể chơi game, nghe nhạc, kết nối int

Trang 1

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

Trang 2

LỜI CẢM ƠN

Em xin chân thành cảm ơn PGS TS Trịnh Đình Thắng đã giúp đỡ

em hoàn thành khóa luận

Em xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin – trường Đại học sư phạm Hà Nội 2 đã truyền đạt vốn kiến thức quý báu cho em trong nghiên cứu đề tài và trong công việc sau này

Vì vốn kiến thức và khả năng của bản thân em còn hạn chế nên bài khóa luận còn nhiều thiếu sót, em mong nhận được ý kiến đóng góp của các thầy cô để em có thể hoàn thiện hơn bài khóa luận

Em xin chân thành cảm ơn!

Hà Nội, tháng 5 năm 2014 Sinh viên

Nguyễn Thị Kim Hoa

Trang 3

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 2

Em xin cam đoan:

1 Đề tài: “Tìm hiểu một số ngôn ngữ lập trình game trên điện

thoại di động” là sự nghiên cứu của riêng em, dưới sự hướng dẫn của thầy

giáo PGS.TS Trịnh Đình Thắng

2 Khóa luận hoàn toàn không sao chép của tác giả nào khác

Nếu sai em xin hoàn toàn chịu trách nhiệm

Hà Nội, tháng 5 năm 2014

Người cam đoan

Nguyễn Thị Kim Hoa

Trang 4

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3

1.1 Lịch sử phát triển của điện thoại di động 3

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 là gì? 23

2.1.2 Đặc trưng của 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 là gì? 32

2.2.2 Lịch sử phát triển 32

2.2.3 Phương thức trong Objective-C 33

2.2.4 Category trong Objective-C 33

2.2.5 Protocol trong Objective-C 33

2.2.6 Selector trong Objective-C 34

2.2.7 Kế thừa trong Objective-C 34

2.2.8 Xử lý ngoại lệ 34

2.2.9 Quản lý bộ nhớ 34

2.3 C# 37

2.3.1 C# là gì? 37

Trang 5

2.3.2 Đặc điểm C# 40

2.3.3 Kiểu dữ liệu của C# 40

2.3.4 Lớp đối tượng trong C# 41

2.3.5 Kế thừa – đa hình 42

2.3.6 Cấu trúc trong C# 42

2.3.7 Thực thi giao diện 42

2.3.8 Mảng, chỉ 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 bài 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 của 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 cùng 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 chính 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 các ngôi sao cùng 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

Trang 6

DANH MỤC HÌNH

Hình 1.1 Chiếc điện thoại đầu tiên 4

Hình 1.2 Motorola DynaTAC 8000X 4

Hình 1.3 Nokia Mobira Senator 5

Hình 1.4 PDA Simon Personal Communicator 5

Hình 1.5 Motorola StarTAC 6

Hình 1.6 Nokia 6160 và Nokia 8260 7

Hình 1.7 Kyocera QCP6035 7

Hình 1.8 Handspring Treo 180 8

Hình 1.9 Danger Hiptop 8

Hình 1.10 BlackBerry 5810 9

Hình 1.11 Sanyo SCP-5300 9

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 bản của 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 các ngôi sao cùng màu 54

Hình 3.5 Form kết thúc game 55

Trang 7

MỞ ĐẦU

1 Lý do chọn đề tài

Hiện nay với sự phát triển của khoa học công nghệ, chiếc điện thoại di động không chỉ đơn thuần để liên lạc với nhau mà nó còn có thể chơi game, nghe nhạc, kết nối internet, gửi mail, … Sự phát triển mạnh mẽ của các thiết bị di động thông minh smartphone, tablet, … yêu cầu các ứng dụng trên thiết bị di động phải đáp ứng được nhu cầu của người sử dụng Lập trình game trên điện thoại di động là một lĩnh vực thu hút rất nhiều bạn trẻ hiện nay

Nói đến lập trình chúng ta không thể không nhắc tới ngôn ngữ lập trình Hiện nay có rất nhiều ngôn ngữ lập trình và mỗi một ngôn ngữ lập

trình có một thế mạnh riêng Chính vì vậy em đã chọn đề tài Tìm hiểu một

số ngôn ngữ lập trình game trên điện thoại di động để làm khóa luận tốt

3 Nhiệm vụ nghiên cứu

- Tìm hiểu một số ngôn ngữ lập trình game thường dùng: Java,

Objective-C, C#

- Ứng dụng ngôn ngữ lập trình Java để xây dựng một game cho điện thoại

di động sử dụng hệ điều hành Android

Trang 8

4 Đố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#

5 Phạm vi nghiên cứu

Lập trình game trên điện thoại thông minh và các ngôn ngữ lập trình game thường được sử dụng

6 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 các tài

liệu, giáo trình có liên quan tới các ngôn ngữ lập trình game và lập trình game trên đ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 ra 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, các giảng viên bộ môn để hoàn thiện về mặt nội dung và hình thức của bài khóa luận

7 Cấu trúc bài khóa luận

Ngoài phần mở đầu, kết luận và hướng phát triển bài khóa luận có những nội dung sau:

Chương 1: Cơ sở lý thuyết – Chương này sẽ trình bày đôi nét về lịch

sử phát triển của điện thoại di động, hệ điều hành Android và ngôn ngữ lập trình game

Chương 2: Một số ngôn ngữ lập trình game – Chương này sẽ trình

bày rõ hơn về một số ngôn ngữ lập trình game điện thoại di động phổ biến hiệ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

bằng ngôn ngữ Java cho điện thoại sử dụng hệ điều hành Android

Trang 9

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Lịch sử phát triển của điện thoại di động

Tiến sĩ Martin Cooper, cựu tổng giám đốc đơn vị hệ thống của Motorola, được coi là “cha đẻ” của thiết bị liên lạc di động cầm tay và cũng

là người đầu tiên thực hiện một cuộc gọi thông qua công cụ này

Ngày 3/4/1973, đứng trên một phố gần khách sạn Manhattan Hilton, Cooper quyết định thử thực hiện một cuộc gọi riêng trước khi đi lên gác tham dự một cuộc họp báo giới thiệu thiết bị Cú điện thoại ấy được ông gọi tới chính đối thủ cạnh tranh của 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 hơn 1kg của Cooper đã hoạt động rất tốt, kết nối ông với trạm thu phát đặt trên nóc tòa tháp Burlington Consolidated (nay là tòa nhà Alliance Capital Building) ở New York, đồng thời liên lạc được với cả đường dây cố định Những người qua đường tỏ ra rất ngạc nhiên khi thấy một người đàn ông bấm bấm một công cụ gì đó, áp sát vào tai và rồi say sưa nói chuyện

Chiếc điện thoại Motorola Dyna Tac là chiếc điện thoại di động đầu tiên Chiếc điện thoại này 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 này không có màn hình nhưng thời lượng thoại của chiếc điện thoại này được 35 phút và thời lượng pin là 10 tiếng

Số bo mạch điện của chiếc điện thoại này là 30 Tính năng mà chiếc điện thoại này có thể thực hiện đó là nói, nghe và quay số

Trang 10

Hình 1.1 Chiếc điện thoại đầu tiên

Chiếc điện thoại di động của tiến sĩ Cooper đã đặt nền móng cho sự

phát triển như vũ bão của điện thoại di động sau này

1.1.1 Motorola DynaTAC 8000X (1983)

Dù Martin Cooper thực hiện cuộc gọi đầu tiên vào năm 1973 nhưng phải một thập niên nữa thì chiếc điện thoại di động thương mại đầu tiên mới ra đời Motorola DynaTAC 8000X cho phép đàm thoại một giờ, bộ nhớ có thể lưu 30 số Trông bề ngoài thiết bị này không đẹp mắt nhưng lại

cho phép bạn vừa đi vừa nói chuyện ở bất kỳ đâu

Hình 1.2 Motorola DynaTAC 8000X

Trang 11

1.1.2 Nokia Mobira Senator (1982)

Hình 1.3 Nokia Mobira Senator

Nokia Mobira Senator trông giống hộp bom hơn điện thoại di động, nhƣng thiết bị hình hộp to đồ sộ này là điện thoại đầu tiên của Nokia Đƣợc giới thiệu năm 1982, Nokia Mobira Senator đƣợc thiết kế sử dụng trong xe

ô tô Nó nặng khoảng 10kg

1.1.3 Simon Personal Communicator (1993)

Hình 1.4 PDA Simon Personal Communicator

Trang 12

Đây là chiếc smartphone đầu tiên trên thế giới Simon Personal Communicator là điện thoại đầu tiên có tính năng của liên minh IBM và BellSouth đƣợc ra mắt năm 1993 Nó là điện thoại kiêm máy tính, sổ địa chỉ, máy fax và e-mail Giá 900 USD

Trang 13

1.1.5 Nokia 6160 (1998) và Nokia 8260 (2000)

Hình 1.6 Nokia 6160 và Nokia 8260

Vào những năm 1990, các điện thoại hình thỏi kẹo của Nokia xuất hiện hàng loạt Nhưng Nokia 6160 và Nokia 8260 gây được sự chú ý của nhiều người Nokia 6160 có màn hình đen trắng, ăng-ten ngoài, thân 5,2 inch, nặng 6 ounce Nokia 8260 ra mắt năm 2000 ấn tượng hơn khi được tô điểm chiếc áo màu, dài 4 inch, nặng chỉ 3,4 ounce

1.1.6 Phần mềm Palm với Kyocera QCP6035 (2000)

Hình 1.7 Kyocera QCP6035

Nếu bạn là một trong những người hâm mộ điện thoại Treo sử dụng

Trang 14

của công ty này thống lĩnh thị trường bán lẻ năm 2001 Với giá 400 USD

và 500 USD, đây là điện thoại dùng phần mềm Palm đầu tiên được phân

phối rộng rãi Sản phẩm có 8 MB bộ nhớ, màn hình trắng đen

1.1.7 Handspring Treo 180 (2001)

Hình 1.8 Handspring Treo 180

Trở lại khi Palm và Handspring còn là đối thủ Handspring đã khuấy động thị trường với sản phẩm Treo 180 gồm hai phiên bản: một với bàn pím QWERTY và một Treo 180g với thiết bị nhập liệu Graffiti Như Kyocera QCP6035, nó có màn hình đen trắng nhưng có 16MB bộ nhớ

1.1.8 Danger Hiptop (2002)

Hình 1.9 Danger Hiptop

Trang 15

T-Mobile Sidekick từng được mệnh danh là sản phẩm của năm 2003 Mặc dù các khả năng đàm thoại của nó xoàng, nhưng là một trong những thiết bị đầu tiên cung cấp tính năng duyệt web, truy cập email và nhắn tin Hơn thế nữa, nó là người tiên phong về thiết kế xoay tròn

1.1.9 BlackBerry 5810 (2002)

Hình 1.10 BlackBerry 5810

BlackBerry 5810 được biết đến nhưng một thiết bị điển hình về các khả năng xử lý dữ liệu Đây là sản phẩm đầu tiên cung cấp các tính năng voice, GSM

1.1.10 Sanyo SCP-5300 (2002)

Hình 1.11 Sanyo SCP-5300

Trang 16

Sanyo SCP-5300 PCS là "dế" đầu tiên có tính năng chụp ảnh đƣợc Sanyo và Sprint giới thiệu năm 2002 Ở độ phân giải cao nhất nó có thể

1.1.12 Motorola Razr v3 (2004)

Hình 1.13 Motorola Razt v3

Trang 17

Điện thoại di động ngày càng mỏng và phong cách hơn, nhưng Motorola Razr v3 là sản phẩm đầu tiên gây ấn tượng về thiết kế thời thượng mỏng và nhẹ vào 2004 Ba năm sau "dế" này vẫn được đánh giá là một trong những điện thoại phổ biến nhất trên thị trường

1.1.13 Motorola Rokr (2005)

Hình 1.14 Motorola Rokr

Motorola Rokr – điện thoại di động kiêm máy nghe nhạc đầu tiên sử dụng phần mềm nghe nhạc của Apple Với thiết bị này, người dùng có thể thưởng thức các bài hát, bản nhạc từ dịch vụ iTunes

1.1.14 BlackBerry Pearl (2006)

Hình 1.15 BlackBerry Pearl

Trang 18

Thiết kế mỏng, bàn phím SureType, tính năng chụp ảnh, nghe nhạc, xem video, hỗ trợ dịch vụ e-mail ấn tượng và nhiều khả năng đa phương tiện khác, BlackBerry Pearl trở thành viên ngọc quý của không ít người

1.1.15 Cách tân với Apple iPhone (2007)

Hình 1.16 Iphone

Sau những tháng chờ đợi, Apple khẳng định tháng 6 là thời điểm quan trọng để iPhone sẽ xuất hiện trên thị trường Đây là thiết kế cách tân với màn hình cảm ứng cảm ứng đa điểm sẽ mang lại một thế giới sinh động với e-mail bằng giọng nói, bàn phím "mềm" dạng Qwerty có thể đoán từ, trình duyệt web Safari, tích hợp camera2-megapixel iPhone là thiết bị gây tò mò nhất trong giới chơi điện thoại di động, dùng hệ điều hành Mac OS X Giá bán: 500 USD cho mẫu 4 GB, 600 USD cho mẫu 8 GB

1.2 Hệ điều hành Android

Android là một hệ điều hành dành cho thiết bị di động như smartphone, tablet hay netbook Android do Google phát triển dựa trên nền tảng Linux kernel và các phần mềm mã nguồn mở

Android là hệ điều hành mở mã nguồn chính duy nhất vớis 12 triệu dòng mã bao gồm 3 triệu dòng mã XML, 2.8 triệu dòng mã C, 2.1 triệu dòng Java và 1.75 triệu dòng C++

Trang 19

Ban đầu nền tảng này được phát triển bởi Android Inc (sau đó được Google mua lại) và gần đây nó trở thành một trong những phần mềm đứng đầu của liên minh OHA (Open Handset Alliance - với khoảng 78 thành viên bao gồm cả nhà sản xuất, nhà phát triển ứng dụng, cho thiết bị di động mà dẫn đầu là Google)

Android được phát triển nhằm cạnh tranh với các hệ điều hành di động khác như iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia), Samsung (Bada), WebOS (Palm), Tính đến thời điểm này, Android đã trở thành nền tảng di động tăng trưởng nhanh nhất thế giới

1.2.1 Lịch sử phát triển của Android

Tháng 10/2003, Android (Inc) được thành lập tại Palo Alto, California, Hoa Kỳ do Andy Rubin (đồng sáng lập của Danger Inc), Rich Miner (đồng sáng lập của Wildfire Communications Inc và cựu phó chủ tịch công nghệ và tương lai ở Orange) và một số thành viên khác chủ trì, với mục đích để phát triển hay tạo ra các thiết bị di động thông minh hơn phục vụ các mục đích cho lợi ích con người

Bước đầu, hệ điều hành Android chỉ đơn thuần là phần mềm trên điện thoại di động

Tháng 8/2005, Google mua lại Android Inc với giá 50 triệu USD Các nhân viên chính của Android Inc, trong đó có Andy Rubin, Rich Miner vẫn tiếp tục làm việc tại công ty

Tại Google, nhóm kĩ sư do Rubin đứng đầu đã phát triển một nền tảng

di động dựa trên hạt nhân Linux Sau đó, họ đã giới thiệu cho các nhà sản xuất thiết bị cầm tay và các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng nâng cấp mở rộng cao

Trang 20

Google cũng lên danh sách các thành phần phần cứng đáp ứng nền tảng và các đối tác phần mềm, đồng thời cam kết với các nhà mạng rằng họ sẵn sàng hợp tác ở nhiều cấp độ khác nhau Thời gian này, một loạt nguồn tin khẳng định Google sẽ sớm tham gia phát triển hệ điều hành riêng cho điện thoại di động

Tháng 9/2007, InformationWeek đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động

Tháng 11/2007, Liên minh thiết bị cầm tay mở rộng (Open Handset Alliance) với sự đồng thuận của Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile đã thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động

Android chính thức gia nhập Liên minh thiết bị cầm tay mã nguồn mở, đồng thời Google đã công vố việc họ bắt tay phát triển hệ điều hành mã nguồn mở cho thiết bị di động nhằm cạnh tranh với Symbian, Windows Mobile và các đối thủ khác

Hãng cũng giới thiệu sản phẩm Android đầu tiên là T-Mobile G1 Đây

là một thiết bị di động có hệ điều hành dựa trên nhân Linux phiên bản 2.6

Từ tháng 10/2008, hệ điều hành Android đã chính thức trở thành phần mềm mã nguồn mở Theo đó, các công ty thứ ba đƣợc phép thêm những ứng dụng của riêng của họ vào Android và bán chúng mà không cần phải hỏi ý kiến Google

Tháng 11/2008, Liên minh OHA ra mắt gói phát triển phần mềm Android SDK cho nhà lập trình

Trang 21

Đến tháng 12/2008, có thêm 14 thành viên mới gia nhập dự án Android được công bố, gồm có ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp và Vodafone Group Plc

Tháng 2/2009, 1 số công ty trong đó có Qualcomm và Texas Instruments đã có trong tay những con chip chạy các phiên bản đơn giản của hệ điều hành Android, mang đến những trải nghiệm hoàn toàn mới cho người dùng trên toàn thế giới

Đến năm 2010, số lượng smartphone nền tảng Android tăng trưởng mạnh mẽ Hàng loạt nhà sản xuất hàng đầu đã bắt tay sản xuất smartphone như Samsung, HTC, Motorola, Thậm chí, Android còn được coi là “cứu cánh” cho nhiều đại gia công nghệ bước sang một trang mới trong việc cải thiện doanh số, bán hàng có lãi sau một thời gian dài trì trệ, tiêu biểu là Motorola

1.2.2 Các phiên bản Android

Hình 1.17 Các phiên bản của hệ điều hành Android

Trang 22

Android những thế hệ đầu tiên 1.0 ( 9/2008) và 1.1 ( 2/2009) chưa có tên gọi chính thức Từ thế hệ tiếp theo, mỗi bản nâng cấp đều được đặt với những mã tên riêng dựa theo các món ăn hấp dẫn theo thứ tự bảng chữ cái

từ “C-D-E-F-G-H-I” Hiện tại các phiên bản chính của Android bao gồm:

1.5 (Cupcake): Ra mắt tháng 4/2009 Phiên bản này có một số tính

năng đáng chú ý như: khả năng ghi lại và xem video thông qua chế độ máy ghi hình, tải video lên YouTube và ảnh lên Picasa trực tiếp từ điện thoại, tích hợp bàn phím ảo với khả năng đoán trước văn bản, tự động kết nối với một thiết bị Bluetooth trong một khoảng cách nhất định, các widget và thư mục mới có thể cài đặt linh động trên màn hình chủ

1.6 (Donut): Ra mắt tháng 9/2009 Phiên bản này giúp nâng cao trải

nghiệm trên kho ứng dụng Android Market, tích hợp giao diện tùy biến cho phép người dùng xóa nhiều ảnh cùng lúc, nâng cấp Voice Search, nâng cấp khả năng tìm kiếm bookmarks, history, contacts và web trên màn hình chủ, bước đầu hỗ trợ màn hình độ phân giải WVGA

2.0/2.1 (Eclair): Ra mắt tháng 10/2009 Phiên bản này có sự cải thiện

rõ rệt trong giao diện người dùng, tối ưu hóa tốc độ phần cứng, hỗ trợ nhiều kích cỡ và độ phân giải màn hình hơn, thay đổi giao diện duyệt web và hỗ trợ chuẩn HTML5, Exchange ActiveSync 2.5, nâng cấp Google Maps 3.1.2, camera zoom kĩ thuật số tích hợp đèn flash, nâng cấp bàn phím ảo và kết nối Bluetooth 2.1

2.2 (Froyo): Ra mắt tháng 5/2010 Phiên bản này chú trọng nâng cấp

tốc độ xử lí, giới thiệu engine Chrome V8 JavaScript, hỗ trợ Adobe Flash10.1, thêm tính năng tạo điểm truy cập Wi-Fi Một tính năng đáng chú

ý khác hỗ trợ chuyển đổi nhanh chóng giữa các ngôn ngữ và từ điển trên bàn phím đồng thời cho phép cài đặt và cập nhật ứng dụng ở các thiết bị

Trang 23

mở rộng bộ nhớ Một trong những smartphone đầu tiên chạy phiên bản Android 2.2 Froyo là LG Optimus One

2.3 (Gingerbread): Ra mắt tháng 12/2010 Phiên bản này đã nâng cấp

đáng kể giao diện người dùng, cải thiện bàn phím ảo, thêm tính năng copy/paste, hỗ trợ công nghệ giao tiếp tầm sóng ngắn NFC, hỗ trợ chuẩn video WebM và nâng cao tính năng copy–paste Cùng với phiên bản Gingerbread, Google cũng ra mắt điện thoại đầu tiên của hãng sử dụng nền tảng này là Google Nexus S

3.0 (Honeycomb): Ra mắt tháng 2/2011 Đây là phiên bản hệ điều

hành dành riêng cho máy tính bảng tablet với giao diện mới tối ưu hóa cho tablet, từ các thao tác đều phụ thuộc màn hình cảm ứng (như lướt web, duyệt mail, ) Honeycomb hỗ trợ bộ xử lí đa nhân và xử lý đồ họa đồng thời hỗ trợ nhiều màn hình home khác nhau, cho phép người dùng dễ dàng tùy biến giao diện nếu muốn

4.0 (Ice-cream sandwich): Ra mắt tháng 12/2011, là sự kết hợp giữa

Gingerbread và Honeycomb và sẽ chạy trên tất cả các thiết bị như điện thoại, máy tính bảng, máy tính xách tay, cải thiện sự ổn định của hệ điều hành và hiệu năng camera được cải thiện tốt hơn

4.1 (Jelly bean): Ra mắt tháng 7/2012 Phiên bản này có giao diện

mượt hơn, có trợ lý Google Now, ứng dụng camera và tìm kiếm giọng nói

4.4 (Kitkat): Ra mắt tháng 10/2013 Phiên bản này có khả năng in

không dây, có Framework mới cho giao diện Ứng dụng setting không còn

sử dụng giao diện nhiều panel

1.2.3 Tính năng mở của hệ điều hành Android

Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng dụng di động hấp dẫn, tận dụng tất cả một chiếc điện thoại đã cung cấp Nó được xây dựng để được thực sự mở

Trang 24

Ví dụ một ứng dụng có thể kêu gọi bất kỳ chức năng lõi của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản hoặc bằng cách sử dụng máy ảnh, cho phép các nhà phát triển để tạo ra phong phú hơn và nhiều hơn nữa những kinh nghiệm cố kết cho người dùng

Android được xây dựng trên mở Linux Kernel Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong một môi trường di động Android là mã nguồn mở, nó có thể được liberally mở rộng, nền tảng này sẽ tiếp tục tiến triển như cộng đồng nhà phát triển công việc, cùng nhau để xây dựng các ứng dụng di động sáng tạo

1.2.4 Đặc điểm của hệ điều hành Android

Android không phân biệt giữa các ứng dụng lõi của điện thoại và các ứng dụng của bên thứ ba Tất cả có thể được xây dựng để có thể truy cập bằng khả năng của một người cung cấp cho người sử dụng điện thoại với một dải rộng các ứng dụng và dịch vụ

Với các thiết bị xây dựng trên hệ điều hành Android, người dùng có thể hoàn toàn thích ứng với điện thoại đến lợi ích của họ Họ có thể trao đổi trên màn hình của điện thoại, những phong cách của dialer hoặc bất kỳ ứng dụng Họ thậm chí có thể hướng dẫn điện thoại của họ để sử dụng hình ảnh

ưa thích của họ xem các ứng dụng để xử lý xem tất cả các hình ảnh

Android phá bỏ rào cản để xây dựng các ứng dụng mới và sáng tạo

Ví dụ một nhà phát triển có thể kết hợp thông tin từ các trang web với

dữ liệu trên điện thoại di động của một cá nhân như địa chỉ liên hệ của người dùng, lịch hoặc vị trí địa lý, … để cung cấp một trải nghiệm người dùng có liên quan hơn Với Android, một nhà phát triển có thể xây dựng một ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và được cảnh báo khi họ đang có trong vùng phụ cận cho họ một cơ hội để kết nối Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích

và có thể được sử dụng để xây dựng các ứng dụng phong phú

Trang 25

Ví dụ Android cho phép các nhà phát triển để có được vị trí của điện thoại và cho phép các thiết bị để giao tiếp với nhau tạo điều kiện cho đồng đẳng rich-to-peer ứng dụng xã hội Ngoài ra, Android bao gồm một tập hợp đầy đủ công cụ đã được xây dựng từ mặt đất lên cùng với việc cung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào các ứng dụng của

họ

1.2.5 Kho ứng dụng Android Market

Kho ứng dụng Android Market ra mắt cùng thời điểm với nền tảng Android và cũng có sự tăng trưởng vượt bậc trong một thời gian ngắn Điều này là nhờ Android có một cộng đồng phát triển ứng dụng rất lớn (lên tới 180.000 nhà phát triển)

Tháng 9/2009, Android Market chạm mốc 10.000 ứng dụng và con số này tiếp tục tăng lên không ngừng

Hình 1.18 Android Market

Tháng 3/2010, Android Market này đạt mức 30.000 ứng dụng và chỉ sau đó 1 tháng, con số tiếp tục tăng lên 50.000 ứng dụng Đến tháng 10/2010 - 2 năm sau ngày ra mắt, Android Market đã đạt con số bước ngoặt 100.000 ứng dụng và trở thành một trong những kho ứng dụng di động lớn nhất

Trang 26

Tính đến đầu tháng 5/2011, Android Market đã có 294.730 ứng dụng, trong khi App Store “đình đám” cũng chỉ có 381.062 ứng dụng Trong tháng 4, các thiết bị Android có thêm 28.000 phần mềm mới, trong khi con

số dành cho các thiết bị iOS là 11.000

Nếu tiếp tục duy trì tốc độ tăng trưởng như thời điểm hiện tại thì chỉ trong vòng 5 tháng tới, Android Market sẽ trở thành kho ứng dụng lớn nhất cho nền tảng smartphone Không những thế Android Market hiện đang dẫn dầu về số lượng ứng dụng miễn phí với khoảng 132.342 ứng dụng (trong khi ở App Store chỉ có khoảng 121.845 ứng dụng)

Đây chính là một trong nhiều yếu tố quan trọng để tạo nên sự hấp dẫn của nền tảng Android và giải thích lí do tại sao các thiết bị nền tảng này đã nhận được sự ủng hộ lớn của người tiêu dùng

1.2.6 Dalvik và máy ảo Dalvik

Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị di động Android Nó chạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex) Định dạng phù hợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc độ xử lý Dalvik đã được thiết kế và viết bởi Dan Bornstein, người đã đặt tên cho nó sau khi đến thăm một ngôi làng đánh cá nhỏ có tên là Dalvik, nơi mà một số tổ tiên của ông sinh sống

Từ góc nhìn của một nhà phát triển, Dalvik trông giống như máy ảo Java (Java Virtual Machine) nhưng thực tế thì hoàn toàn khác Khi nhà phát triển viết một ứng dụng dành cho Android, anh ta thực hiện các đoạn mã trong môi trường Java Sau đó, nó sẽ được biên dịch sang các bytecode của Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triển phải thực thi một công cụ có tên là dex Đây là công cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode "Dex" là từ viết

Trang 27

tắt của "Dalvik executable" đóng vai trò như cơ chế ảo thực thi các ứng dụng Android

1.2.7 Android Emulator

Android SDK và Plugin Eclipse được gọi là một Android Deverloper Tool (ADT) Các Android coder sẽ cần phải sử dụng công cụ IDE (Integrated Development Enveronment) này để phát triển, debugging và testing cho ứng dụng Tuy nhiên, các coder cũng có thể không cần phải sử dụng IDE mà thay vào đó là sử dụng command line để biên dịch và tất nhiên là vẫn có Emulator như thường

Android Emulator được trang bị đầy đủ hầu hết các tính năng của một thiết bị thật Tuy nhiên, một số đã bị giới hạn như là kết nối qua cổng USB, camera và video, nghe phone, nguồn điện giả lập và bluetooth

Android Emulator thực hiện các công việc thông qua một bộ xử lý mã nguồn mở, công nghệ này được gọi là QEMU được phát triển bởi Fabrice Bellard

1.2.8 Kiến trúc của Android

Hình 1.19 Cấu trúc stack hệ thống Android

Trang 28

1.3 Ngôn ngữ lập trình game

Chúng ta có thể lập trình game bằng mọi ngôn ngữ Nhưng mỗi người

có một sở trường và thế mạnh riêng, chúng ta hãy tùy thuộc vào yêu cầu và thế mạnh của mình để lựa chọn ngôn ngữ để viết game Nhưng xu hướng hiện nay, một số ngôn ngữ hay dùng để viết game là:

Java: thường dùng để viết game cho Mobile – các dòng phone hỗ trợ

J2ME hoặc viết game cho Android, ít khi viết game cho PC

C#: khi nhắc tới C# ta có thể nghĩ ngay đến XNA và gắn liền với

thương hiệu Microsoft Dùng để viết game cho windows mobiles hoặc PC

Objective-C: dùng cho iOS như máy MAC, iPhone, Ipad

Javascript: dùng cho môi trường web

C/C++: với sự lâu đời cũng như được sự hưởng ứng rộng rãi từ hầu

hết các chương trình đào tạo đại học, C/C++ được xem là ngôn ngữ cơ bản nhất của mọi ngôn ngữ lập trình Bất kì một programmer đều phải ít nhất một lần đụng đến hai ngôn ngữ này C/C++ cũng khá được ưa chuộng trong lập trình game do khả năng thực thi trên nhiêu platform khác nhau: Windows, Linux, MacOS, Android, ipjone/ipad, Symbian, …

Trang 29

CHƯƠNG 2: MỘT SỐ NGÔN NGỮ LẬP TRÌNH GAME

2.1 Java

2.1.1 Java là gì?

Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP) được Sun Microsystems giới thiệu vào tháng 6 năm 1995 (hiện tại bị mua lại bởi Oracle năm 2009 - 2010)

Java là công cụ lập trình của các lập trình viên chuyên nghiệp Java được xây dựng trên nền tảng của C và C++ Do vậy nó sử dụng cú pháp của C và các đặc trưng hướng đối tượng của C++

Java là ngôn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồn được biên dịch công cụ JAVAC để chuyển thành dạng ByteCode Sau đó được thực thi trên từng loại máy cụ thể nhờ chương trình thông dịch Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (“Write Once, Run Anywhere” (WORA)) Chương trình phần mềm viết bằng Java

có thể chạy trên mọi nền tảng khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hớp hỗ trợ nền tảng đó

Ngày nay, Java được sử dụng rộng rãi để viết chương trình chạy trên Internet Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành Nó không chỉ dùng để viết các ứng dụng chạy đơn lẻ hay trong mạng mà còn để xây dựng các trình điều khiển thiết bị cho điện thoại di động, PDA,

2.1.2 Đặc trưng của Java

Đơn giản

Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộc với đa số người lập trình Do vậy Java loại bỏ các đặc trưng phức tạp của C và C++ như thao tác con trỏ, thao tác định nghĩa chồng toán

Trang 30

tử (operator overloading), … Java không sử dụng lệnh “goto” cũng như file header (.h) Cấu trúc “struct” và “union” cũng được loại bỏ khỏi Java

Tính độc lập ở mức nhị phân, một chương trình đã biên dịch có thể chạy trên nhiều nền (phần cứng, hệ điều hành) khác mà không cần dịch lại

mã nguồn Tuy vậy cần có phần mềm máy ảo Java (JVM) hoạt động như một trình thông dịch tại máy thực thi

Môi trường phát triển của Java được chia làm hai phần: Trình biên dịch và trình thông dịch Không như C hay C++, trình biên dịch của Java chuyển mã nguồn thành dạng bytecode độc lập với phần cứng và có thể chạy trên bất kỳ CPU nào Nhưng để thực thi chương trình dưới dạng bytecode, tại mỗi máy cần phải có trình thông dịch của Java hay còn gọi là máy ảo Java Máy ảo Java chuyển bytecode thành mã lệnh mà CPU thực thi được

Mạnh mẽ

Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu Phải khai báo kiểu

dữ liệu tường minh khi viết chương trình Java kiểm tra lúc biên dịch và cả trong thời gian thông dịch vì vậy Java loại bỏ một số loại lỗi lập trình nhất định Java không sử dụng con trỏ và các phép toán con trỏ Java kiểm tra tất

cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bảo rằng các truy

Trang 31

nhập đó không ra ngoài giới hạn kích thước Java kiểm tra sự chuyển đổi kiểu dữ liệu từ dạng này sang dạng khác lúc thực thi

Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý lỗi và phục hồi sau lỗi

Bảo mật

Java cung cấp một môi trường quản lý thực thi chương trình, nó cho rằng không có một đoạn mã nào là an toàn cả Vì vậy Java không chỉ là ngôn ngữ lập trình thuần túy mà còn cung cấp nhiều mức để kiểm soát tính

an toàn khi thực thi chương trình

Ở lớp đầu tiên, dữ liệu và các phương thức được đóng gói bên trong lớp Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp Java không hỗ trợ con trỏ vì vậy không cho phép truy xuất bộ nhớ trực tiếp

Nó cũng ngăn chặn không cho truy xuất thông tin bên ngoài kích thước của mảng bằng kỹ thuật tràn và cũng cung cấp kỹ thuật dọn rác trong bộ nhớ Các đặc trưng này tạo cho Java an toàn tối đa và có khả năng cơ động cao Trong lớp thứ hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn

và tuân theo các nguyên tắc của Java

Lớp thứ ba được đảm bảo bởi trình thông dịch Chúng kiểm tra xem bytecode có đảm bảo các quy tắc an toàn trước khi thực thi

Lớp thứ tư kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống

Phân tán

Java có thể dùng để xây dựng các ứng dụng có thể làm việc trên nhiều phần cứng, hệ điều hành và giao diện đồ họa Java được thiết kế hỗ trợ cho các ứng dụng chạy trên mạng Vì vậy chúng được sử dụng rộng rãi như công cụ phát triển trên Internet, nơi sử dụng nhiều nền tảng khác nhau

Đa luồng

Chương trình Java đa luồng (Multithreading) để thực thi các công việc

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] – Trịnh Công Duy, “Nền tảng di động mở Android cho điện thoại thông minh”. Trường Đại học Bách khoa – Đại học Đà Nẵng, Bài giảng Sách, tạp chí
Tiêu đề: Nền tảng di động mở Android cho điện thoại thông minh
[2] – Nguyễn Thành Danh, “Lập trình game cho điện thoại di động”, Nhà xuất bản Giao thông vận tải, 2005 Sách, tạp chí
Tiêu đề: Lập trình game cho điện thoại di động
Nhà XB: Nhà xuất bản Giao thông vận tải
[3] – Nguyễn Hoàng Hà – Nguyễn Văn Trung, “C# và ứng dụng”, Trường Đại học Huế, giáo trình, 2005 Sách, tạp chí
Tiêu đề: C# và ứng dụng
Tác giả: Nguyễn Hoàng Hà, Nguyễn Văn Trung
Nhà XB: Trường Đại học Huế
Năm: 2005
[4] – Nguyễn Giang Nam, “Learn Objective-C”, Bài giảng Sách, tạp chí
Tiêu đề: Learn Objective-C
Tác giả: Nguyễn Giang Nam
Nhà XB: Bài giảng
[5] – “Java”, trường Đại học khoa học tự nhiên tp Hồ Chí Minh, giáo trình. Tiếng anh Sách, tạp chí
Tiêu đề: Java
[6] – Mark L.Murphy, “The Busy Coder’s Guide to Android Development” Sách, tạp chí
Tiêu đề: The Busy Coder’s Guide to Android Development
Tác giả: Mark L. Murphy
[7] – Mario Zechner, “Beginning Android Games” Sách, tạp chí
Tiêu đề: Beginning Android Games
Tác giả: Mario Zechner

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w