LẬP TRÌNH DI ĐỘNG và bài TOÁN ỨNG DỤNG GAME bắn XE TĂNG - Pdf 14

BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCM
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN

KHÓA LUẬN TỐT NGHIỆP
LẬP TRÌNH DI ĐỘNG VÀ BÀI
TOÁN
ỨNG DỤNG “GAME BẮN XE TĂNG”
Giảng viên hướng dẫn : Thạc sĩ PHẠM ĐỨC THÀNH
Giảng viên hướng dẫn : Thạc sĩ PHẠM ĐỨC THÀNH
Sinh viên thực hiện :
Sinh viên thực hiện :
1 . NGUYỄN HOÀNG ANH TÚ – 3.09.01.675
1 . NGUYỄN HOÀNG ANH TÚ – 3.09.01.675
2 . HUỲNH NHỰT PHƯƠNG – 3.09.01.337
2 . HUỲNH NHỰT PHƯƠNG – 3.09.01.337
Ngành : CÔNG NGHỆ PHẦN MỀM
Ngành : CÔNG NGHỆ PHẦN MỀM
Khóa : 2009 - 2012
Tp. Hồ Chí Minh, tháng 7 năm 2012
MỞ ĐẦU
Research2guidance dự đoán thị trường ứng dụng cho điện thoại di động sẽ có tốc
độ tăng trưởng rất nhanh trong vòng một vài năm tới. Lợi nhuận sẽ tăng gấp 8 lần sau 5
năm, từ 1,95 tỉ USD năm 2009 lên 15,65 tỉ USD năm 2013.
Ngoài việc dự đoán mức tăng trưởng về lợi nhuận thì Research2guidance cũng
dự đoán về số người dùng smartphone trong 5 năm tới, yếu tố giúp thị trường ứng dụng
cho di động tăng trưởng. Theo đó, số người dùng smartphone sẽ tăng từ 100 triệu người
năm 2009 lên 1 tỉ người năm 2013.

sức khỏe và thành công trên con đường cao cả mà thầy đã lựa chọn.
Cuối cùng và quan trọng nhất, chúng con xin dành tất cả sự tri ân và biết ơn cho
gia đình yêu quý, nơi sinh ra con người, tài năng và nhiệt huyết của chúng em. Xin cám
ơn những con người đóng góp thầm lặng cho thành quả của chúng em ngày hôm nay.
Một lần nữa, chúng em xin cám ơn tất cả mọi người, chúc mọi người được dồi
dào sức khỏe. Chúc cho khóa học kết thúc tốt đẹp. Chúc cho Công nghệ thông tin Việt
Nam mau chóng sánh ngang cùng các cường quốc năm châu trên thế giới.
TP. Hồ Chí Minh, tháng 07 năm 2012
NHẬN XÉT
CỦA GIÁO VIÊN HƯỚNG DẪN
2
LỜI CẢM ƠN 2
CHƯƠNG 1 : WINDOWS PHONE 7 VÀ CÔNG NGHỆ SILVERLIGHT 1
1.1 Giới thiệu 1
1.2 Lịch sử các phiên bản phát triển của Windows Phone 2
1.3 Kiến trúc 3
1.4 Vòng đời phát triển của 1 ứng dụng Windows Phone 4
1.4.1 Bắt đầu với App Hub 4
1.4.2 Thiết kế một ứng dụng và sản sinh ra một gói ứng dụng 5
1.4.3 Gỡ lỗi 1 ứng dụng 5
1.4.4 Xuất bản một ứng dụng 5
1.4.5 Quản lý xuất bản ứng dụng 6
1.5 Giới thiệu công nghệ Silverlight 6
1.5.1 Tổng quan 6
1.5.2 Silverlight là gì ? 7
1.5.3 Các đặc tính của Silverlight 7
1.6 Nghiên cứu công nghệ Silverlight 10
1.6.1 Kiến trúc tổng thể và các thành phần Siverlight 10
Bảng 1.3. Bảng mô tả .Net Framework cho Silverlight 15
1.6.2 Các phiên bản và mô hình lập trình Silverlight 15
CHƯƠNG 2 : GIỚI THIỆU NỀN TẢNG XNA 19
2.1 Tổng quan về XNA 19
2.1.1 XNA là gì ? 19
2.1.2 Tại sao nên sử dụng XNA ? 19
2.1.3 Các phiên bản XNA 19
2.2 Kiến trúc của XNA 21
2.2.1 Kiến trúc của XNA 21
2.3 Các thành phần trong XNA 23
CHƯƠNG 3 : GIỚI THIỆU BÀI TOÁN ỨNG DỤNG “GAME BẮN XE TĂNG”
25

Hình 1.2. Vòng đời phát triển của 1 ứng dụng Windows Phone 4
Hình 1.3. Kiến trúc tổng thể và các thành phần Silverlight 10
Hình 2.1. Cấu trúc của XNA 20
Hình 2.2. Pipeline Content 21
Hình 2.3. Hệ trục tọa độ 2D 24
Hình 2.4. Hệ trục toa độ hệ thống 24
Hình 3.1. Hình ảnh bản đồ game và vị trí sắp xếp các xe tăng 26
Hình 3.2. Sơ đồ Use case game XE TĂNG 29
Hình 3.3. Sơ đồ Use case “Vào trò chơi” 31
Hình 3.4. Sơ đồ Use case “Phát sinh bản đồ” 32
Hình 3.5. Sơ đồ Use case “Phát sinh xe tăng địch” 33
Hình 3.6. Sơ đồ Use case “Xe tăng địch di chuyển” 34
Hình 3.7. Sơ đồ Use case “Xe tăng địch bắn đạn” 35
Hình 3.8. Sơ đồ Use case “Di chuyển xe tăng mình” 35
Hình 3.9. Sơ đồ Use case “Bắn đạn” 36
Hình 3.10. Sơ đồ Use case “Phá hủy chướng ngại vật” 37
Hình 3.11. Sơ đồ Use case “Bắn chết xe tăng địch” 38
Hình 3.12. Sơ đồ Use case “Xem hướng dẫn” 39
Hình 3.13. Sơ đồ Use case “Thiết lập tùy chọn” 39
Hình 4.1. Sơ đồ lớp game XE TĂNG 41
Hình 4.2. Sơ đồ trạng thái lớp BẢN ĐỒ 45
Hình 4.3. Sơ đồ trạng thái lớp VIÊN ĐẠN 45
Hình 4.4. Sơ đồ trạng thái lớp XE TĂNG 46
Hình 4.5. Sơ đồ trạng thái lớp VẬT PHẨM 46
Hình 4.6. Sơ đồ kiến trúc hệ thống 48
Hình 4.7. Sơ đồ class GUI 48
Hình 4.8. Sơ đồ class BUS 49
Hình 4.9. Sơ đồ class DTO 50
Hình 4.10. Giao diện menu chính 51
Hình 4.11. Giao diện chơi game 52

không quan tâm nhiều đến nền tảng cũ đó là vì màn hình cảm ứng bằng ngón tay ngày
càng phổ biến hơn trên điện thoại và Windows Mobile vốn thiết kế cho bút stylus đã trở
nên rất lỗi thời.
Windows Phone 7 bắt đầu được ra mắt chính thức vào tháng 2/2010 ở triển lãm
Mobile World Congress diễn ra ở Barcelona, Tây Ban Nha. Đến tháng 10 cùng năm,
CEO Steve Ballmer của Microsoft ra mắt 10 thiết bị Windows Phone đầu tiên đến từ
HTC, Dell, Samsung, LG. Vài tuần sau, máy bắt đầu được bán ra ở Mỹ và Châu Âu.
Tháng 5 cùng năm, Microsoft tuyên bố hợp tác với một số nhà sản xuất khác là Acer,
Fujitsu và ZTE.
Windows Phone 7 được Microsoft thiết kế dựa trên tiêu chí giúp lập trình viên
dễ dàng hơn trong việc tạo nên các ứng dụng RIA (Rich Internet Application) với công
nghệ nền tảng dựa trên .Net, Silverlight và XN Frame Work, với những lập trình viên
đã từng làm qua Silverlight thì việc chuyển sang Windows Phone 7 là một việc rất dễ
dàng, không chỉ có thế Microsoft còn ưu ái cho các nhà sản xuất với việc tạo nên một
môi trường phát triển và thiết kế cực kỳ đơn giản và có thể chạy được trên phần cứng
của nhiều hãnh khác nhau như HTC, Sony, LG….
Với Windows Phone, Microsoft cung cấp một giao diện người dùng mới với
ngôn ngữ thiết kế của hãng có tên là Metro. Nó tích hợp hệ điều hành với các dịch vụ
khác của Microsoft, các bên thứ ba và điều khiển phần cứng nó chạy trên đó.
Một cột mốc quan trọng của Windows Phone đó là sự hợp tác giữa Microsoft
với Nokia sau khi hãng điện thoại Phần Lan này quyết định không còn tập trung vào
1
điện thoại Symbian nữa. Kết quả của sự hợp tác này đó là dòng Nokia Lumia ra đời ở
sự kiện Nokia World 2011. Đến CES 2012, Nokia tiếp tục ra mắt hai máy Lumia mới
nữa (mình sẽ đề cập ở phần sau). Việc tích hợp các dịch vụ của Microsoft (Bing, Bing
Maps, Windows Phone Marketplace,…) lên thiết bị Nokia được cho là sẽ tạo nên lợi
thế cạnh tranh cho Windows Phone với hai đối thủ lớn hiện thời là iOS và Android.
Microsoft phát triển Windows Phone 7 dựa trên hai công nghệ Silverlight và XNA:
 Silverlight: một sáng kiến phía client dựa trên Windows Presentation Foundation
(WPF) đã tạo ra một sức mạnh chưa từng có cho các nhà phát triển website để tạo ra

năng mới xuất hiện như MMS tốt hơn, biểu tượng cho việc dò vị trí, xuất và quản lí
danh bạ vô SIM, hỗ trợ điện thoại giá rẻ với 256MB RAM và xung nhịp CPU chậm.
 7.10.8779: sửa lổi, cải thiện và nâng cấp.
1.3 Kiến trúc
Windows Phone Application Platform kiến trúc được tạo thành từ bốn thành
phần chính:
Hình 1.1. Kiến trúc Windows Phone Application Platform
 Runtimes (Runtimes): Silverlight và khung XNA, cùng với Windows tính năng
điện thoại cụ thể, kết hợp để cung cấp một môi trường trưởng thành trong việc xây
dựng an toàn, các ứng dụng đồ họa phong phú.
 Tools (Công cụ): Visual Studio và Expression Blend, và các công cụ và tài liệu liên
quan của chúng, tạo ra một trải nghiệm phát triển hoàn chỉnh để nhanh chóng tạo ra
ứng dụng, gỡ lỗi, triển khai và cập nhật các ứng dụng.
 Cloud (Dịch vụ điện toán đám mây): Windows Azure, Xbox LIVE, thông báo
dịch vụ, và dịch vụ định vị, cùng với một loạt các dịch vụ web khác, cho phép các
nhà phát triển để chia sẻ dữ liệu qua các đám mây và lợi ích người tiêu dùng bằng
3
cách cung cấp một trải nghiệm liền mạch trên thiết bị bất cứ điều gì họ đang sử
dụng. Kết nối với các dịch vụ web của bên thứ ba cũng hỗ trợ đầy đủ.
 Portal Services (Dịch vụ cổng thông tin): điện thoại Windows Marketplace cung
cấp các dịch vụ mạnh mẽ cho phép các nhà phát triển đăng ký, xác nhận, và thị
trường ứng dụng của họ.
1.4 Vòng đời phát triển của 1 ứng dụng Windows Phone
Hình 1.2. Vòng đời phát triển của 1 ứng dụng Windows Phone
1.4.1 Bắt đầu với App Hub
App Hub sẽ là điểm khởi đầu cho các nhà phát triển. Các nhà phát triển có thể
bắt đầu bằng cách đăng ký cho một ID Windows Live. Tiếp theo, họ có thể đăng ký để
có được SDK Windows Phone và cấp giấy phép liên quan để phát triển các ứng dụng
bằng cách sử dụng Visual Studio và Expression Blend. Đây sẽ là một download duy
nhất có chứa tất cả mọi thứ phát triển đòi hỏi phải xây dựng một ứng dụng cho

.XAP là một tập tin nén chứa tất cả các thông tin cần thiết cho ứng dụng. Điều này bao
5
gồm một biểu tượng ứng dụng, gói bắt đầu, siêu dữ liệu, và các điều khoản cấp phép để
xác định chương trình của họ có thể được sử dụng như thế nào.
Tiếp theo, các dấu hiệu phát triển vào App Hub và gửi các gói ứng dụng xác
nhận. Đây là cách duy nhất để làm cho một ứng dụng có sẵn cho người tiêu dùng. Quá
trình cấp giấy chứng nhận sẽ kiểm tra xem ứng dụng là cách cư xử, làm việc cho các
ngôn ngữ và thị trường chỉ ra, và không ảnh hưởng xấu đến sức khỏe tổng thể của điện
thoại.
Một khi các gói phần mềm đã đáp ứng các yêu cầu điện thoại xác nhận Windows
Marketplace, nhà phát triển được thông báo và có thể công bố ứng dụng Windows
Marketplace điện thoại thông qua App Hub. Các ứng dụng sau đó làm sẵn có cho người
tiêu dùng tải về trong Windows Phone Marketplace. Thẻ tín dụng và hoạt động thanh
toán điện thoại di động điều hành được hỗ trợ.
1.4.5 Quản lý xuất bản ứng dụng
Sau khi một ứng dụng Windows Phone được công bố Thị trường điện thoại
Windows, nhà phát triển sử dụng App Hub để quản lý các phiên bản của ứng dụng có
sẵn để mua.
1.5 Giới thiệu công nghệ Silverlight
1.5.1 Tổng quan
Microsoft Silverlight là một công nghệ đa nền, đa trình duyệt dựa trên nền .NET
dùng để xây dựng và phát triển một thế hệ ứng dụng Web và thiết bị mới, đầy tính
tương tác và hỗ trợ tối đa về media. Hiện nay Silverlight đã có 5 phiên bản dùng phát
triển ứng dụng bằng ngôn ngữ Javascript và bằng các ngôn ngữ .NET framework như
C# hay VB.NET , Bên cạnh đó công nghệ Silverlight còn được hỗ trợ bởi ngôn
ngữ đánh dấu XAML đầy sức mạnh trong việc thể hiện giao diện người dùng. Có thể
nói công nghệ Silverlight đã thống nhất được tất cả các khả năng của server, Web và
ứng dụng desktop, của code .NET, của ngôn ngữ hình thể và ngôn ngữ truyền thống và
sức mạnh của Windows Presentation Foundation (WPF). Để cuối cùng tạo ra một ứng
dụng mà người dùng phải thấy thích. Một số người cho rằng công nghệ Silverlight của

hiệu ứng. Cả Silverlight và WPF đều dựa trên cùng một nền tảng là XAML
(Extensible Application Markup Language) cung cấp các cú pháp đánh dấu đặc
trưng cho việc tạo các Element.
7
 Mở rộng ngôn ngữ đa kịch bản: Silverlight cung cấp việc mở rộng cho các ngôn
ngữ đa kịch bản (Javascript) ở một số các trình duyệt phổ biến để thể hiện việc trình
bày giao diện và thao tác người dùng một cách phong phú hơn.
 Tích hợp các ứng dụng đã có: Silverlight là sự tích hợp liền mạch với ngôn ngữ
Javascript và mã Ajax sẵn có của Asp.Net để bổ sung các chức năng bạn đã xây
dựng được. Bạn có thể tạo những tài nguyên trên nền máy chủ có trong ASP.NET
và sử dụng các khả năng của Ajax trong ASP.NET để tương tác với tài nguyên trên
nền máy chủ đó mà không làm gián đoạn người dùng. Các ứng dụng Silverlight có
khả năng tương tác với máy chủ, xử lý các sự kiện một cách bất đồng bộ. Điều này
không làm gián đoạn thao tác của người dùng cuối. Nếu như bạn đã từng tạo ra các
dự án web sử dụng Ajax, chắc hẳn bạn sẽ cảm thấy dễ dàng hiểu cơ chế xử lý bất
đồng bộ trong Silverlight.
8
 Sử dụng mô hình ngôn ngữ lập trình trên nền tảng .Net framework và các công
cụ để kết hợp: Bạn có thể tạo các ứng dụng trên nền tảng Silverlight bằng cách sử
dụng các ngôn ngữ động như InronPython cũng như các ngôn ngữ như C#, Visual
Basic. Microsoft đã đưa ra một sự kết hợp nhuần nhuyễn cho việc tạo ra các ứng
dụng Silverlight thông qua hai bộ công cụ: Visual Studio 2008 và Expression Blend.
Sự đồng bộ công cụ này tạo nên sự thuận lợi tối đa cho các nhà phát triển.
 Hỗ trợ mạng: Silverlight hỗ trợ HTTP thông qua giao thức TCP. Nó có thể thực
hiện các kết nối tới các dịch vụ của WCF, SOAP, ASP.NET và nhận về các định
dạng theo cấu trúc XML, JSON hay dữ liệu RSS.
 Hỗ trợ ngôn ngữ tích hợp truy vấn (LINQ): Silverlight cho phép thực hiện những
truy vấn dữ liệu bằng cách sử dụng cú pháp trực quan và mạnh mẽ thông qua
LINQ (Language Integrated Query – ngôn ngữ truy vấn tích hợp). LINQ cho phép
bạn tạo những truy vấn ngay trên công cụ lập trình (Visual Studio) như trong SQL

sau đó chỉ cung cấp cơ chế tự động cập nhật và
tương tác ở mức thấp.
Bảng 1.1. Bảng mô tả các thành phần chính của Silverlight
Kiến trúc Silverlight:
 Browser Plug-in:
Plug-in này cung cấp những cơ chế như sau:
1) Thiết lập và thay đổi nội dung XAML thực thi nó runtime.
2) Lấy những đối tượng tại thời điểm runtime, thao tác thông qua javascript.
3) Tăng khả năng download nội dung.
 Element Tree:
1) Nó chính là cây của những đối tượng như: đối tượng Path, đối tượng Image và đối
tượng MediaElement mà bạn tạo ra để xây dựng ứng dụng và nó tương tự như là cây
HTML. Tuy nhiên, nó có nhiều graphics element hơn so với HTML, và mô hình để
lập trình thì giống như DOM. Để có thể xây dựng Element Tree, chúng ta có thể
dùng XAML parser được cung cấp bởi Silverlight sử dụng hàm CreateFromXaml.
2) Để có thể thay đổi Element Tree thì:
a) Dùng Javascript API.
b) Sử dụng Animation System để thay đổi giá trị over time.
12
 Rendering Engine
Các tính năng:
1) Tăng tính redraw giữa những frame, hạn chế số pixel vẽ dựa vào nội dung mà thay
đổi.
2) Chỉ render những nội dung visible, không render những nội dung transparent.
3) Dựa vào sự thuận lợi của CPU mà chúng cải thiện render.
Đặc trưng của Render Engine:
 Hỗ trợ hình cơ bản như: hình chữ nhật, Ellipse, Image.
 Hỗ trợ Brush.
 Hỗ trợ Text Render.
 Transform.

đối tượng và các thành phần giao diện
người dùng
DRM Khả năng Quản lý phân quyền số
XAML Cung cấp trình phân tách cho XAML
Bảng 1.2. Bảng các nền tảng cơ sở trong Silverlight
Các lập trình viên có thể tương tác với thành phần “nền tảng trình bày cơ sở”
trên bằng cách sử dụng XAML để đặc tả. XAML là một yếu tố quan trọng nhất trong
việc tương tác giữa .Net Framwork và các kiểu trình bày Layout, ngoài ra các lập trình
viên cũng có thể sử dụng cơ chế quản lý code bên trong để thao tác với lớp trình bày.
14
 .Net Framework cho Silverlight:
Tính năng Mô tả
Data Hỗ trợ ngôn ngữ truy vấn tích hợp (LINQ)
và LINQ với đặc tả XML, dễ dàng xử lý
việc tích hợp và làm việc với dữ liệu từ
nhiều nguồn khác nhau.
Base class library Nó cung cấp các chức năng lập trình chủ
yếu như việc xử lý chuỗi, biểu thức chính
quy, đầu vào và đầu ra, ánh xạ, tập hợp và
toàn cục hóa.
Window Communication Foundation
(WCF)
Cơ chế này bao gồm một đối tượng trình
duyệt, HTTP request và HTTP Response,
RSS, JSON, POX, và các SOAP.
Common language runtime (CLR) Cung cấp việc quản lý bộ nhớ, dọn dẹp bộ
nhớ thừa, xử lý ngoại lệ …
Windows Presentation Foundation
controls (WPF)
Cung cấp các control giàu tính năng như


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status