1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

65 558 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 65
Dung lượng 790,08 KB

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 intern

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI

2 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

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ôngtin – 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àikhóa luận còn nhiều thiếu sót, em mong nhận được ý kiến đóng góp củacá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 Đạihọ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 ƢƠN G 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 ƢƠN G 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ƣn g 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 t h ứ 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 ớ p L đố i tƣ ợ ng trong C# 41

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

2.3.6 ấ u trúcC trong C# 42

2.3.7 ự c thiTh giao di ệ n 42

2.3.8 ả ng, chM ỉ m ụ c 43

2.3.9 ử lý X ngo ạ i l ệ 43

CH ƢƠN G 3: XÂY DỰNG CH ƢƠN G 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 ử a hàngC game 53

3.3.3 ắtB đầ u game 54

3.3.4 ế t h ợ p cácK ngôi sao cùng màu 54

3.3.5 ế t thúcK 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ácthiết bị di động thông minh smartphone, tablet, … yêu cầu các ứng dụngtrên thiết bị di động phải đáp ứng được nhu cầu của người sử dụng Lậptrì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ậptrì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

7

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ìnhgame 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ìnhgame 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ìnhthứ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ônngữ 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ếnhiệ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ủaMotorola, đượ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áctham dự một cuộc họp báo giới thiệu thiết bị Cú điện thoại ấy được ônggọi tới chính đối thủ cạnh tranh của mình: Joel Engel, Giám đốc Trung tâmthí 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 BurlingtonConsolidated (nay là tòa nhà Alliance Capital Building) ở New York, đồngthờ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 đầutiên Chiếc điện thoại này có kích thước 22,86 x 12,7 x 4,44 cm, trọnglượng 1,13kg Chiếc điện thoại này không có màn hình nhưng thời lượngthoạ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ệnthoại này có thể thực hiện đó là nói, nghe và quay số

9

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ưngphải một thập niên nữa thì chiếc điện thoại di động thương mại đầu tiênmớ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ạicho 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 Đƣợcgiớ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 PersonalCommunicator 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ổ địachỉ, 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ấthiện hàng loạt Nhưng Nokia 6160 và Nokia 8260 gây được sự chú ý củanhiều người Nokia 6160 có màn hình đen trắng, ăng-ten ngoài, thân 5,2inch, 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

hệ điều hành Palm thì có thể cảm ơn Kyocera Dế thông minh QCP6035

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ânphố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ànpí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ữngthiế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áckhả năng xử lý dữ liệu Đây là sản phẩm đầu tiên cung cấp các tính năngvoice, 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 đượcSanyo và Sprint giới thiệu năm 2002 Ở độ phân giải cao nhất nó có thểchụp được các ảnh VGA (640 x 480).

1.1.11 Nokia N-Gage (2003)

Hình 1.12 Nokia N-Gate

Dòng máy N-Gage tạo được nhiều dư luận khi xuất hiện trên thịtrường năm 2003, nhưng thật không may, đó lại là sản phẩm bất lợi Sự kếthợp điện thoại di động/thiết bị chơi game được kỳ vọng sẽ quyến rũ đượcgame thủ từ bỏ máy chơi game cầm tay của họ Nhưng thay vào đó, nó gâyphản cảm bởi thiết kế hình bán nguyệt kỳ quặc

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ưngMotorola Razr v3 là sản phẩm đầu tiên gây ấn tượng về thiết kế thờithượ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ươngtiệ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 quantrọng để iPhone sẽ xuất hiện trên thị trường Đây là thiết kế cách tân vớimàn hình cảm ứng cảm ứng đa điểm sẽ mang lại một thế giới sinh động vớie-mail bằng giọng nói, bàn phím "mềm" dạng Qwerty có thể đoán từ, trìnhduyệ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ềntả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ệudòng mã bao gồm 3 triệu dòng mã XML, 2.8 triệu dòng mã C, 2.1 triệudò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 đó đượcGoogle 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ànhviê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 độngkhác như iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft),Symbian (Nokia), Samsung (Bada), WebOS (Palm), Tính đến thời điểmnà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), RichMiner (đồ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ơnphụ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ệnthoại di động

Tháng 8/2005, Google mua lại Android Inc với giá 50 triệu USD Cácnhân viên chính của Android Inc, trong đó có Andy Rubin, Rich Miner vẫntiế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ảnxuất thiết bị cầm tay và các nhà mạng trên những tiền đề về việc cung cấpmộ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ềntả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ồntin 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ủaEvalueserve 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 HandsetAlliance) 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ậpvớ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, WindowsMobile 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ầnmề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ảihỏi ý kiến Google

Tháng 11/2008, Liên minh OHA ra mắt gói phát triển phần mềmAndroid 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ự ánAndroid được công bố, gồm có ARM Holdings, Atheros Communications,Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, ToshibaCorp và Vodafone Group Plc.

Tháng 2/2009, 1 số công ty trong đó có Qualcomm và TexasInstruments đã có trong tay những con chip chạy các phiên bản đơn giảncủa hệ điều hành Android, mang đến những trải nghiệm hoàn toàn mới chongườ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ưởngmạnh mẽ Hàng loạt nhà sản xuất hàng đầu đã bắt tay sản xuất smartphonenhư Samsung, HTC, Motorola, Thậm chí, Android còn được coi là “cứucánh” cho nhiều đại gia công nghệ bước sang một trang mới trong việc cảithiệ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ớinhữ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 ghihình, tải video lên YouTube và ảnh lên Picasa trực tiếp từ điện thoại, tíchhợ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ộtthiết bị Bluetooth trong một khoảng cách nhất định, các widget và thư mụcmớ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épngườ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 GoogleMaps 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ăngcopy/paste, hỗ trợ công nghệ giao tiếp tầm sóng ngắn NFC, hỗ trợ chuẩnvideo WebM và nâng cao tính năng copy–paste Cùng với phiên bảnGingerbread, Google cũng ra mắt điện thoại đầu tiên của hãng sử dụng nềntả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 chotablet, 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 đồngthời hỗ trợ nhiều màn hình home khác nhau, cho phép người dùng dễ dàngtùy biến giao diện nếu muốn

4.1 (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ệnthoạ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ềuhành và hiệu năng camera được cải thiện tốt hơn

4.2 (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 đã cungcấ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ạinhư 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ữanhữ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ụngmột máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyênphầ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ậpbằng khả năng của một người cung cấp cho người sử dụng điện thoại vớimộ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 đổitrên màn hình của điện thoại, những phong cách của dialer hoặc bất kỳ ứngdụ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ủangười dùng, lịch hoặc vị trí địa lý, … để cung cấp một trải nghiệm ngườidùng có liên quan hơn Với Android, một nhà phát triển có thể xây dựngmột ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và đượccả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ú

24

Trang 25

Ví dụ Android cho phép các nhà phát triển để có được vị trí của điệnthoạ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ấpnề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ủahọ.

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ảngAndroid 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

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 Trongthá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ấtcho nền tảng smartphone Không những thế Android Market hiện đang dẫndầu về số lượng ứng dụng miễn phí với khoảng 132.342 ứng dụng (trongkhi ở 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ẫncủ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 filethự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 DanBornstein, 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 ảoJava (Java Virtual Machine) nhưng thực tế thì hoàn toàn khác Khi nhà pháttriể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ủaJava, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà pháttriể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 ứngdụng Android.

1.2.7 Android Emulator

Android SDK và Plugin Eclipse được gọi là một Android DeverloperTool (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ấtnhiê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ộtthiế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 FabriceBellard

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ướnghiệ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ảnnhất của mọi ngôn ngữ lập trình Bất kì một programmer đều phải ít nhấtmột lần đụng đến hai ngôn ngữ này C/C++ cũng khá được ưa chuộngtrong 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ị mualạ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ápcủ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” (“WriteOnce, 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 thivớ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ênInternet Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, khôngphụ 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ưngphứ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ư fileheader (.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êndịch và trình thông dịch Không như C hay C++, trình biên dịch của Javachuyể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ạngbytecode, 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ựcthi đượ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 đổikiể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ụchồ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ó chorằ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 tronglớ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ủamả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 xembytecode 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 viphạ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ềuphần cứng, hệ điều hành và giao diện đồ họa Java được thiết kế hỗ trợ chocá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 thời Chúng cũng cung cấp giải pháp đồng bộ giữa các luồng Đặc

Trang 32

tính hỗ trợ đa luồng cho phép xây dựng các ứng dụng chạy trên mạng hiểuquả.

Động

Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môitrường mở Các chương trình Java chứa rất nhiều thông tin thực thi nhằmkiểm soát và truy nhập đối tượng lúc chạy Điều này cho phép khả năngliên kết động

Ngoài những đặc trưng trên Java 2 còn có một số đặc trưng riêng:

Swing: Là một tập các lớp và giao diện mới dùng để tạo giao diện ứng

dụng đồ họa “Look and Feel”

Kéo và thả: Là khả năng di chuyển thông tin giữa các ứng dụng hay

các phần khác nhau của chương trình

Java 2D API: Chứa tập hợp các lớp hỗ trợ cho ảnh và đồ họa hai

chiều

Java sound: Tập hợp hoàn toàn mới các lớp đặc trưng về âm thanh

của Java

RMI (Remote Method Invocation): Cho phép các ứng dụng gọi các

phương thức của đối tượng tại máy khác và cho phép giao tiếp với chúng

2.1.3 Máy ảo Java (JVM – Java Virtual Machine)

Máy ảo Java là trái tim của ngôn ngữ Java Môi trường Java bao gồm:

- Ngôn ngữ

- Định nghĩa Bytecode

- Các thư viện lớp Java/Sun

- Máy ảo Java (JVM)

- Cấu trúc file class

Ngày đăng: 22/04/2018, 11: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
[4] – Nguyễn Giang Nam, “Learn Objective-C”, Bài giảng Sách, tạp chí
Tiêu đề: Learn Objective-C
[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
[7] – Mario Zechner, “Beginning Android Games” Sách, tạp chí
Tiêu đề: Beginning Android Games

HÌNH ẢNH LIÊN QUAN

Hình 1.2  Motorola DynaTAC 8000X - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.2 Motorola DynaTAC 8000X (Trang 10)
Hình 1.1  Chiếc điện thoại đầu tiên - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.1 Chiếc điện thoại đầu tiên (Trang 10)
Hình 1.3  Nokia Mobira Senator - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.3 Nokia Mobira Senator (Trang 11)
Hình 1.4  PDA Simon Personal Communicator - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.4 PDA Simon Personal Communicator (Trang 11)
Hình 1.5  Motorola StarTAC - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.5 Motorola StarTAC (Trang 12)
Hình 1.6  Nokia 6160 và Nokia 8260 - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.6 Nokia 6160 và Nokia 8260 (Trang 13)
Hình 1.7  Kyocera QCP6035 - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.7 Kyocera QCP6035 (Trang 13)
Hình 1.8  Handspring Treo 180 - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.8 Handspring Treo 180 (Trang 14)
Hình 1.9  Danger Hiptop - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.9 Danger Hiptop (Trang 14)
Hình 1.11  Sanyo SCP-5300 - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.11 Sanyo SCP-5300 (Trang 15)
Hình 1.10  BlackBerry 5810 - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.10 BlackBerry 5810 (Trang 15)
Hình 1.12  Nokia N-Gate - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.12 Nokia N-Gate (Trang 16)
Hình 1.13  Motorola Razt v3 - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.13 Motorola Razt v3 (Trang 16)
Hình 1.15  BlackBerry Pearl - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.15 BlackBerry Pearl (Trang 17)
Hình 1.14  Motorola Rokr - Tìm hiểu một số ngôn ngữ lập trình game trên điện thoại di động
Hình 1.14 Motorola Rokr (Trang 17)

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