HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP Nội dung: Lập trình ứng dụng game xếp số cho hệ điều hành Android
Nơi thực tập : Viện CNTT&TT-CDIT Người hướng dẫn : Hoàng Xuân Sơn Sinh viên thực hiện : Trần Phú Yên
Hà nội, 07/ 2015
1
LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với n hững hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của mọi người. Và trong thời gian thực tập tốt nghiệp lần này , em đã nhận được rất nhiều sự giúp đỡ từ nhà trường , thầy cô của Viện Công nghệ thông tin & Truyền thông – CDIT, đặc biệt là thầy Hoàng Xuân Sơn – người trực tiếp hướng dẫn và giúp đỡ em. Lần thực tập này
được thực hiện trong khoảng thời gian 6 tuần. Bước đầu đi vào nghiên cứu, tìm hiểu lĩnh vực lập trình game trên nền tảng Android. Kiến thức của em còn hạn chế và nhiều bỡ ngỡ. Do vậy, không tránh khỏi những thiếu sót là điều chắc chắn,em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô và Thầy hướng dẫn em để kiến thức của em trong lĩnh vực này được hoàn thiện hơn và đề tài thực tập lần này của em được hoàn thành đúng tiến độ. Một lần nữa em xin chân thành cảm ơn các Thầy Cô và em sẽ cố gắng để hoàn thiện chuyên môn hơn sau đợt thực tập này!
2
MỤC LỤC MỤC LỤC.......................................................................................................................................3 Phần A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP...............................................................................4 I. Lịch sử phát triển..............................................................................................................................4 II. Những đóng góp của CDIT cho sự phát triển của ngành ICT Việt Nam.....................................5
Phần B : NỘI DUNG THỰC TẬP................................................................................................7 I. Phần giới thiệu chung........................................................................................................................7 II. Báo cáo thực tập...............................................................................................................................8
3
Phần A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP I. Lịch sử phát triển
Được thành lập từ năm 1999 với chức năng chính của CDIT là nghiên cứu, ứng dụng khoa học và đào tạo nguồn nhân lực cho lĩnh vực Công nghệ thông tin chuyên ngành Bưu chính viễn thông và các ngành kinh tế – xã hội khác của Việt Nam. Qua 15 năm xây dựng và phát triển, CDIT đã luôn hoàn thành xuất sắc mọi nhiệm vụ được giao, góp phần to lớn trong sự phát triển của ngành Thông tin và truyền thông. Kết quả, trong 15 năm phát triển CDIT đã được Đảng, Nhà nước tặng thưởng Huân chương Lao động Hạng Nhất, Nhì, Ba. Trong lĩnh vực hoạt động nghiên cứu khoa học và triển khai công nghệ, CDIT là đơn vị tiên phong trong việc sản xuất nội địa các hệ thống Viễn thông thay thế nhập ngoại, từ các thế hệ Tổng đài đầu tiên đến các hệ thống phần mềm tích hợp phức tạp đều là các sản phẩm từ các công trình nghiên cứu KHCN của CDIT được phát triển và ứng dụng thành công trên mạng lưới viễn thông của VNPT các tỉnh thành của cả nước. Trong lĩnh vực hoạt động đào tạo, với thế mạnh từ một đơn vị nghiên cứu, CDIT đã chuyển giao các kết quả sang lĩnh vực đào tạo ngắn hạn. Đến nay, hàng nghìn kỹ sư của 63 Bưu điện tỉnh thành và Tổng Công ty Bưu chính đã được CDIT đào tạo và chuyển giao công nghệ. Trong thời gian tới, thực hiện triển khai “Đề án đào tạo và phát triển nguồn nhân lực an toàn, an ninh thông tin đến năm 2020” – Đề án 99, CDIT cũng xác định sẽ tích cực tham gia cùng với các đơn vị khác trong Học viện xây dựng đội ngũ, chuẩn bị cơ sở vật chất trong nghiên cứu và đào tạo Đại học về an toàn thông tin để nâng cao tiềm lực và phát triển các dịch vụ về An toàn, An ninh thông tin. Trải qua 15 năm xây dựng và phát triển, CDIT đã xây dựng được đội ngũ cán bộ nghiên cứu viên, giảng viên có trình độ chuyên môn cao, giàu kinh nghiệm, hệ thống các phòng Lab hiện đại phục vụ các hoạt động nghiên cứu và đào tạo. Các sản phẩm công nghệ được ứng dụng rộng rãi trong Ngành và liên tục đoạt các giải thưởng cao quý về Khoa học công nghệ như giải thưởng VIFOTEC, Cúp Vàng CNTT trong giai đoạn các năm từ 2000 đến 2004.
4
II. Những đóng góp của CDIT cho sự phát triển của ngành ICT Việt Nam CDIT có nhiệm vụ nghiên cứu, ứng dụng khoa học và đào tạo nguồn nhân lực cho lĩnh vực Viễn thông và Công nghệ thông tin (CNTT). Cùng với sự phát triển của ngành CNTT trong xu hướng hội nhập với Truyền thông, CDIT đã đổi tên thành Viện CNTT và Truyền thông CDIT từ 01/01/2012. Trung tâm Công nghệ thông tin CDIT được thành lập năm 1999 trên cơ sở sáp nhập Trung tâm Nghiên cứu Phát triển Phần mềm STC (thuộc Viện KHKT Bưu điện) và Trung tâm Đào tạo Phát triển Phần mềm STDC (thuộc Trung tâm Đào tạo BCVT1). CDIT có nhiệm vụ nghiên cứu, ứng dụng khoa học và đào tạo nguồn nhân lực cho lĩnh vực Viễn thông và Công nghệ thông tin (CNTT). Trong suốt 15 năm phát triển của mình, CDIT luôn thể hiện tinh thần đam mê, chủ động làm chủ công nghệ ở mức độ sâu, tạo ra các sản phẩm có hàm lượng tri thức cao, đóng góp thiết thực cho sự phát triển của ngành công nghệ thông tin và truyền thông (ICT) Việt Nam. NHỮNG NĂM ĐẦU TIÊN 1999-2004
Được hình thành từ các đơn vị có năng lực kỹ thuật điện tử viễn thông và CNTT, lại hoạt động trong mạng lưới rộng lớn của Tổng công ty Bưu chính Viễn thông Việt Nam (VNPT) nên ngay từ khi mới thành lập, CDIT là đơn vị tiên phong trong việc tự sản xuất chế tạo tổng đài nhỏ từ 128 đến 512 số và đã triển khai tại nhiều tỉnh trên mạng lưới của VNPT, mở rộng vùng phủ của các dịch vụ viễn thông xuống các huyện, xã vùng xa đang là "vùng trắng" về viễn thông. Trong lĩnh vực di động, các thiết bị mạng thường là độc quyền của các hãng lớn và có giá thành cao. Năm 2002, CDIT đã tự thiết kế chế tạo được hệ thống nhắn tin ngắn SMSC cho mạng di động và triển khai cung cấp cho nhà khai thác Mobifone, Vinaphone và Viettel. Đây là hệ thống MMSC đầu tiên được triển khai trên mạng viễn thông của Việt Nam và hoàn toàn do Việt Nam phát triển. Thời kỳ này, các dịch vụ trên mạng viễn thông ở Việt Nam còn rất nghèo nàn. Từ khả
năng tiếp cận, nắm bắt thông tin xu hướng phát triển viễn thông của các nước phát triển, CDIT đã đi đầu tạo ra nhiều sản phẩm, dịch vụ mới có tiếng vang với xã hội như dịch vụ nhắn tin SMS, MMS, thanh toán cước phí điện thoại qua hệ thống ATM, dịch vụ bầu chọn trực tuyến 1900 1570, dịch vụ Thông tin tuyển sinh, dịch vụ Thông tin Giáo dục, dịch vụ gia tăng trên di động, Internet... Nhiều dịch vụ do CDIT tạo ra có tính tiên phong và thực sự mang lại sắc diện mới cho đời sống tinh thần của xã hội Việt Nam khi đó. GIAI ĐOẠN 2005 ĐẾN 2009
5
Thời kỳ 2005-2009, công nghệ viễn thông thay đổi rất nhanh. Ở Việt Nam, đây cũng là thời kỳ các nhà khai thác, cung cấp dịch vụ chuyển đổi công nghệ sang thế hệ Mạng viễn thông thế hệ mới (NGN) với rất nhiều kỹ thuật mới khác biệt so với các mạng viễn thông thế hệ trước. Với vai trò là đơn vị nghiên cứu trong Tập đoàn VNPT, CDIT đã chủ động nghiên cứu đón đầu các công nghệ về mạng viễn thông mới. Năm 2004, CDIT đã đăng ký và thực hiện thành công đề tài cấp Nhà nước KC.01.22 chế tạo hệ thống tổng đài Softswitch thành phần điều khiển quan trọng nhất trên mạng NGN. Trong lĩnh vực phát triển các phần mềm, CDIT đã cung cấp nhiều sản phẩm phần mềm lớn phục vụ thiết thực cho công tác quản lý, khai thác, điều hành của Tập đoàn VNPT và Tổng công ty Bưu chính trên địa bàn cả nước như: Hệ thống cung cấp dịch vụ Thư thoại Thư thông tin cho 49 Bưu điện tỉnh thành; Phần mềm Quản lý mạng ngoại vi và điều hành sửa chữa 119 tại 40 Bưu điện tỉnh thành; Phần mềm phân tích số liệu kinh doanh cung cấp thông tin hàng ngày cho Lãnh đạo Tập đoàn và các Ban chức năng và các VNPT tỉnh thành; Cổng thông tin điện tử của VNPT; Phần mềm cung cấp dịch vụ chuyển tiền nhanh cho Tổng công ty Bưu chính. GIAI ĐOẠN 2010 ĐẾN 2014 Trong những năm gần đây, sự hội tụ giữa Viễn thông, CNTT và Media đang diễn ra mạnh mẽ. Các kỹ thuật truy nhập di động băng rộng, dịch vụ đa phương tiện là các điểm nhấn công nghệ hiện nay.
Năm 2012, CDIT đã được giao thực hiện đề tài cấp Nhà nước KC.01.09/11-15 chế tạo thử nghiệm thiết bị Serving Gateway cho mạng truy nhập băng rộng thế hệ 4G - LTE. Trong lĩnh vực ATTT, CDIT đã chủ động nghiên cứu các công nghệ và giải pháp cho hạ tầng viễn thông mới song song với việc thiết kế và tổ chức mạng của VNPT. Hiện nay, CDIT được giao trách nhiệm đảm bảo an toàn thông tin cho mạng băng rộng của Tập đoàn. Viện cũng đã xây dựng hệ thống xác thực mật khẩu một lần (One Time Password) và đưa vào triển khai cho VNPT, VMS và Văn phòng Quốc hội.
6
Phần B : NỘI DUNG THỰC TẬP I. Phần giới thiệu chung TÊN ĐỀ TÀI : Lập
trình ứng dụng game xếp số cho hệ điều hành Android
KẾ HOẠCH THỰC TẬP:
TT
Nội dung thực tập
Thời gian
Mục tiêu
1
Xây dựng đề cương thực tập
3/7/2015-8/7/2015
Xây dựng được đề cương hoàn chỉnh gồm các công việc cần làm trong thời gian dự kiến.
2
Tìm hiểu về đề tài game chuẩn bị xây dựng
9/7/2015-12/7/2015
Tìm hiểu về thể loại game, đồ họa game, ngôn ngữ lập trình game . . .
3
Mô tả game
12/7/201516/7/2015
4
Xây dựng game
17/7/2015-23/7/2015
Xây dựng được giao diện của game
5
Xây dựng game
24/7/2015-3/8/2015
Xây dựng các modul của game và sửa lỗi
6
Demo
4/8/2015-6/8/2015
Chạy thử game trên máy thật và đưa lên store của HĐH Android
7
+Phân tích thiết kế
giao diện game +Phân tích và nêu yêu cầu về giao diện game +Các yêu cầu đối với game
Ghi chú ……
II. Báo cáo thực tập +Tìm hiểu đề tài game chuẩn bị xây dựng 1. Tìm hiểu về thể loại game : Game xếp số là thể loại game khá đơn giản vừa mang tính chất giải trí vừa mang tính trí tuệ , đòi hỏi sự tập trung của người chơi qua đó giúp kích thích trí nhớ của họ. 2 . Đồ họa game Do game chưa tới mức độ phức tạp về đồ họa nên có thể nói đến giao diện của game. Trò chơi là 1 khung hình vuông bao gồm các ô nhỏ gồm các chữ số trong ô đó và 1 ô trống để di chuyển các ô khác Ngoài ra bên cạnh khung số là các menu tùy chọn với các tùy chọn được sắp xếp hợp lý và có màu bắt mắt. Các con số bên trong ô số được thể hiện sao cho người chơi thích thú và dễ chịu mỗi khi phải tìm đường đi cho ô số và nhìn các con số. Các màu ô số , hình nền của khung hoặc các hiệu ứng trong mỗi sự kiện của game đều được tạo các hiệu ứng đẹp mắt. +Tìm hiều về ngôn ngữ và các phần mềm lập trình nên game . 3.1 Ngôn ngữ lập trình game trên nền tảng android 3.1.1 Android Android là gì?
Android là một phần mềm stack cho các thiết bị di động bao gồm một hệ điều hành, middleware và các ứng dụng quan trọng. Android SDK cung cấp các công cụ và API cần thiết để bắt đầu phát triển các ứng dụng trên nền tảng Android bằng cách sử dụng ngôn ngữ lập trình Java. Những đặc tính ứng dụng framework cho phép tái sử dụng và thay thế các thành phần Dalvik máy ảo được tối ưu hóa cho các thiết bị di động Tích hợp trình duyệt dựa trên động cơ WebKit mã nguồn mở Kiến trúc Android Sơ đồ dưới đây cho thấy các thành phần chính của hệ điều hành Android. Mỗi phần được mô tả chi tiết hơn dưới đây. Ứng dụng Android sẽ ship với một bộ các ứng dụng lõi bao gồm một ứng dụng email, lịch chương trình tin nhắn SMS,, bản đồ, trình duyệt, liên lạc, và những người khác. Tất cả các ứng dụng được viết bằng cách sử dụng ngôn ngữ lập trình Java. 8
Ứng dụng Framework Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng để xây dựng các ứng dụng vô cùng phong phú và sáng tạo. Các nhà phát triển được miễn phí để tận dụng lợi thế của các thiết bị phần cứng, thông tin địa điểm truy cập, dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo đến các thanh trạng thái, và nhiều, nhiều hơn nữa. Nằm bên dưới tất cả các ứng dụng là một tập hợp các dịch vụ và hệ thống, bao gồm: Một tập phong phú và mở rộng của xem có thể được sử dụng để xây dựng một ứng dụng, bao gồm các danh sách, lưới, hộp văn bản, các nút, và thậm chí một trình duyệt web nhúng Thời gian chạy Android Android bao gồm một tập các thư viện lõi mà cung cấp hầu hết các chức năng sẵn có trong thư viện cốt lõi của ngôn ngữ lập trình Java.
Mỗi ứng dụng Android chạy trong tiến trình riêng của mình, với trường hợp riêng của các máy ảo Dalvik. Dalvik đã được viết nên một thiết bị có thể chạy nhiều máy ảo hiệu quả. VM Dalvik thực hiện tác phẩm trong các Executable Dalvik (dex). VM là đăng ký trên, và chạy các lớp học biên soạn bởi một trình biên dịch ngôn ngữ Java đã được chuyển thành các định dạng dex. 3.1.2 Ngôn ngữ lập trình java *Giới thiệu về ngôn ngữ Java *Lịch sử phát triển Năm 1990, Sun MicroSystems thực hiện dự án Green nhằm phát triển phần mềm trong các thiết bị dân dụng. James Gosling, chuyên gia lập trình đã tạo ra một ngôn ngữ lập trình mới có tên là Oak. Ngôn ngữ này có cú pháp gần giống như C++ nhưng bỏ qua các tính năng nguy hiểm của C++ như truy cập trực tiếp tài nguyên hệ thống, con trỏ, định nghĩa chồng các tác tử… Khi ngôn ngữ Oak trưởng thành, WWW cũng đang vào thời kỳ phát triển mạnh mẽ, Sun cho rằng đây là một ngôn ngữ thích hợp cho Internet. Năm 1995, Oak đổi tên thành Java và sau đó đến 1996 Java đã được xem như một chuẩn công nghiệp cho Internet. Máy ảo Java (JMV - Java Virtual Machine) Để đảm bảo tính đa nền, Java sử dụng cơ chế Máy ảo của Java. ByteCode đó là ngôn ngữ máy của Máy ảo Java tương tự như các lệnh nhị phân của các máy tính thực. Khi thực hiện một chương trình, máy ảo Java lần lượt thông dịch các chỉ thị dưới dạng Bytecode thành các chỉ thị dạng nhị phân của máy tính thực và thực thi thực sự chúng trên máy tính thực. Máy ảo thực tế đó là một chương trình thông dịch. 9
Hai kiểu ứng dụng dưới ngôn ngữ java Khi bắt đầu thiết kế một ứng dụng dưới ngôn ngữ Java, chúng ta phải chọn kiểu cho nó là Application hay Applet. Applet: Là một chương trình ứng dụng được nhúng vào các trang web. Mã của chương
trình được tải về máy người dùng từ Web server khi người dùng truy xuất đến trang web chứa nó. Application: Là một chương trình ứng dụng được thực thi trực tiếp trên các máy ảo của Java. Bộ phát triển ứng dụng Java (JDK- Java Development Kit) JDK là một bộ công cụ cho phép người lập trình phát triển và triển khai các ứng dụng bằng ngôn ngữ java được cung cấp miễn phí bởi công ty JavaSoft (hoặc Sun). Có các bộ Jdk cho các hệ điều hành khác nhau. Các ấn bản của JDK không ngừng được phát hành, chúng ta có thể tải về từ địa chỉ hoặc Bộ công cụ này gồm các chương trình thực thi đáng chú ý sau: javac: Chương trình biên dịch các chương trình nguồn viết bằng ngôn ngữ java ra các tập tin thực thi được trên máy ảo Java. java: Đây là chương trình làm máy ảo của Java, thông dịch mã Bytecode của các chương trình kiểu application thành mã thực thi của máy thực. appletviewer: Bộ thông dịch, thực thi các chương trình kiểu applet. javadoc: Tạo tài liệu về chú thích chương trình nguồn một cách tự động. jdb: Trình gở rối. rmic: Tạo Stub cho ứng dụng kiểu RMI. rmiregistry: Phục vụ danh bạ (Name Server) trong hệ thống RMI Tìm hiểu thêm về công nghệ java Giới thiệu về gói AWT GUI cung cấp chức năng nhập liệu theo cách thân thiện với người dùng. GUI đa dạng từ ứng dụng đến ứng dụng và có thể chứa nhiều điều khiển như hộp văn bản, nhã, hộp danh sách hay các điều khiển khác. Các ngôn ngữ như VB hay VC++ có thể cung cấp chức năng kéo và thả trong khi đó phần mềm giống như C++ yêu cầu người lập trình phải viết toàn bộ mã để xây dựng GUI. Một phần tử (element) GUI được thiết lập bằng cách sử dụng thủ tục sau: Tạo đối tượng Xác định sự xuất hiện ban đầu của đối tượng Chỉ ra nó nằm ở đâu
Thêm phần tử vào giao diện trên màn hình Một thành phần (component) GUI là một đối tượng trực quan. AWT là viết tắt của Abstract Windowing Toolkit. AWT cung cấp các thành phần khác nhau để tạo GUI hiệu quả và lôi cuốn người sử dụng. Các thành phần này này có thể là: Vật chứa (Container) Thành phần (Component) 10
Trình quản lý cách trình bày (Layout manager) Đồ họa (Graphic) và các tính năng vẽ (draw) Phông chữ (Font) Sự kiện (Event) Gói AWT chứa các lớp, giao diện và các gói khác. Hình sau đây mô tả một phần nhỏ của hệ thống phân cấp lớp AWT.
Hình 1: Hệ thống cây phân cấp lớp AWT + Phân tích thiết kế Phân tích game xếp số : Để đơn giản trong cách tiếp cận giải bài toán, người ta giả định chỉ có ô trống trong bảnglà di chuyển đến những vị trí khác. Như vậy tại một trạng thái thì chỉ có tối đa 4 cách đi đểchuyển sang trạng thái khác (trái, phải, lên, xuống). Người ta cũng nhận ra được rằng để cóthể chuyển từ 1 trạng thái bất kì về trạng thái đích nhƣ trên thì trạng thái đầu đó phải theo một quy luật trình bày sau đây Cho trạng thái đầu tiên như hình dưới, duyệt qua từng ô theo thứ tự từ trái qua và từ trênxuống, ở mỗi ô số duyệt đến, bạn hãy đếm xem có bao nhiêu ô số có giá trị bé hơn nó
11
Hình 2 . Mô phỏng giao diện game
Đầu tiên là ô số 4. Ta thấy có 3 ô số {1,3,2} nằm phía sau và bé hơn nó nên có n1=3 Tiếp đến là ô sô 8 có 6 ô {1,6,3,2,7,5} nằm phía sau và nhỏ hơn nên có n2=6 Ô số 1 là bé nhất nên có n3=0 Tương tự ta có ô số 6 có n4=3 Ô số 3 có n5=1 Ô số 2 có n6=0 Ô số 7 có n7=1 Ô sô 5 có n8=0
Hình 3 : Các trạng thái Tính tổng các số từ n1 -> n8 ta có : N= 3+6+0+3+1+0+1+0 = 14
12
Số N này cho ta biết thông tin là nó có chia hết cho 2 hay không ( tính chẵn hay lẻ) . Nếu nó là số chẵn thì chắc chắn có thể chuyển về trạng thái đích từ trạng thái này . Bởi vì khi di chuyển ô trống về vị trí bất kỳ thì giá trị N mod 2 cũng không thay đổi . Tức là từ trạng thái hiện tại bạn có thể di chuyển ô trống nhiều lần thì giá trị N vẫn là số chẵn . Chuyển mảng 3x3 này thành mảng 1 chiều rồi thực hiện việc di chuyển ô trống giữa các hàng
Hình 4. Thuật toán Nhưng trong hình phía trên khi ta di chuyển ô trống tức là t đang hoán đổi vị trí của ô thứ 3 và ô thứ 6 , sau khi hoán đổi ta có như sau :
Hình 5 : Thuật toán
Giá trị N ban đầu tăng lên 2 là do hiện tại có 2 ô lớn hơn nằm trước ô có giá trị 1 . Nếu như thử vài lần thì bạn có thể thấy khi di chuyển ô trống giữa các dòng thì giá trị N sẽ có 1 trong 3 trường hợp : Không thay đổi, tăng 2 , giảm 2 .
13
2. Phân tích project Sơ đồ cấu trúc người dùng chương trình
Khởi tạo trò chơi
Người chơi
Kiể m tra điều kiện
Tùy chỉnh trò chơi
Lưu tên và điểm
Thông báo thắng
thua
Xử lý kết thúc game
Xét kỷ lục
Kết thúc trò chơi
Hình 6 : Sơ đồ cấu trúc người dùng chương trình
14
Cấu trúc chương trình
PROJECT
FormMain Lớp FormMain dùng để tạo giao diện trò chơi và quản lý các hoạt động của trò chơi cũng như các thuật toán của trò chơi
Options
Ranking
Lớp options dùng
để tạo giao diện tùy chỉnh , thiết lập cho trò chơi
Lớp ranking dùng để xem điểm số cao nhất
Hình 7 : Cấu trúc chương trình
15
Sound Lớp sound dùng để phát âm thanh trong trò chơi
III – Thiết kế giao diện và xây dựng game xếp số 1. Xây dựng giao diện của game . 1.1 .Giao diện chính của game.
Hình 8 :Giao diện game hoàn chỉnh
16
+ Giao diện chính của game sẽ như trên hình 17 và dưới đây là code của phần này. <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" />android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent" > android:id="@+id/TitleImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="24px" android:background="@drawable/eightpuzzle" > </ImageView> android:id="@+id/TitleText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/TitleImage" android:layout_centerHorizontal="true" android:layout_marginTop="24px" android:text="Di chuyển để các số để được như hình mẫu" android:textSize="16px" android:typeface="sans" > </TextView> android:id="@+id/PlayButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/TitleText" android:layout_centerHorizontal="true" android:layout_margin="20px" android:text="Bắt đầu chơi" android:textSize="28px" >
</Button> </RelativeLayout>
17
+ Chúng ta có thể thấy thêm phần giao diện menu của game gồm : trợ giúp ,thoát ,giới thiệu. Và code của phần menu : <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android=" > android:id="@+id/helpmenu" android:icon="@android:drawable/ic_menu_help" android:title="Trợ giúp"/> android:id="@+id/exitmenu" android:icon="@android:drawable/ic_lock_power_off" android:title="@string/exit"/> android:id="@+id/creditsmenu" android:icon="@android:drawable/ic_menu_info_details" android:title="Giới thiệu"/> </menu>
18
1.2 Giao diện menu trợ giúp sẽ hướng dẫn người chơi cách di chuyển số sao cho hợp lệ
Hình 9 : Menu hướng dẫn
19
Code : <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" />android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hãy di chuyển các ô số để được như hình vẽ \nvới ít số lần di chuyển nhất." android:textSize="25dip" /> android:id="@+id/TitleImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="24px" android:background="@drawable/eightpuzzle" > </ImageView> </LinearLayout>
20
1.3 Giao diện menu giới thiệu sẽ giới thiệu về tác giả của game