Tải bản đầy đủ (.docx) (29 trang)

BÁO CÁO MÔN HỌC CÔNG NGHỆ PHẦN MỀM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.56 MB, 29 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.HCM

BÁO CÁO CHUYÊN ĐỀ CÔNG NGHỆ PHẦN MỀM
ĐỀ TÀI: LẬP TRÌNH GAME TRÊN NỀN TẢNG UNITY
Khoa: Cơng Nghệ Thơng Tin
Mơn môn học: Công Nghệ Phần Mềm
Giảng viên hướng dẫn : ThS.Dương Thành Phết
Sinh viên thực hiện

:

- MSSV: 1511

Sinh viên thực hiện

:

- MSSV: 1511

Sinh viên thực hiện

:

- MSSV: 1511

Lớp

: 15DTH01

TP.Hồ Chí Minh …./…./2017



LỜI CẢM ƠN



Trong suốt thời gian từ khi bắt đầu học tập tại trường đến nay, chúng em đã nhận được rất
nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình và bạn bè. Với lịng biết ơn sâu
sắc:
 Chúng con xin chân thành biết ơn cha mẹ cùng anh chị đã tạo điều kiện về vật chất và

tinh thần để chúng con có thể tập trung học tập và hoàn thành đề tài này.
 Chúng em chân thành cảm ơn quý thầy cô trường Đại Học Cộng Nghệ TP.HCM đã dạy
dỗ, dìu dắt, truyền đạt nhiều kiến thức, kinh nghiệm quý báu.
 Đặc biệt với lòng biết ơn sâu sắc nhất chúng em xin gửi lời cảm ơn Thầy Dương Thành

Phết là giảng viên trực tiếp hướng dẫn giúp đỡ chúng em trong quá trình thực hiện đề tài
Chuyên đề 1 Công Nghệ Phần Mềm.
Trong thời gian nghiên cứu cũng như trong quá trình làm báo cáo đề tài, khơng tránh khỏi
thiếu sót. Chúng em rất mong nhận được sự góp ý q báu của q Thầy Cơ, anh chị và
các bạn.

Xin chân thành cảm ơn!!!

2|Page


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN


.........................................................................................................................................

.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
TP.HCM, Ngày……Tháng……Năm 2016
Chữ ký giảng viên

3|Page


MỤC LỤC

Bìa ................................................................................................................................. 1
Lời cảm ơn ..................................................................................................................... 2
Nhận xét của giảng viên hướng dẫn ...............................................................................3
Mục lục .......................................................................................................................... 4
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI.............................................................................6
1. Giới thiệu đề tài và mô tả đề tài .................................................................................6
1.1. Giới thiệu đề tài.......................................................................................................6
1.2. Mô tả đề tài..............................................................................................................6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ PHÂN TÍCH THIẾT KẾ CƠ SỠ DỮ LIỆU.. .7

1. Giới thiệu về ngôn ngữ C#..........................................................................................7
2. Các công cụ sử dụng...................................................................................................7
2.1. Unity 2017.1.1P3.....................................................................................................7
2.1.1 Ưu điểm và nhược điểm.........................................................................................9
2.2. MonoDevelop-Unity................................................................................................10
2.3. CorelDRAW & Photoshop Cs6................................................................................11
3. Các sơ đồ.................................................................................................................... 15
3.1 Mơ hình ERD............................................................................................................ 15
3.2. Mơ hình DFD...........................................................................................................16
3.3. Mơ hình FDD...........................................................................................................17
CHƯƠNG 3: THIẾT KẾ GIAO DIỆN...........................................................................18
1. Danh sách các màn hình chính....................................................................................18
2. Chi tiết màn hình........................................................................................................19

4|Page


2.1 Màn hình chính.........................................................................................................19
2.2 Màn hình chọn nhân vật ...........................................................................................20
2.2.1 Các nhân vật .........................................................................................................21
2.3 Màn hình chọn độ khó..............................................................................................22
2.4 Màn hình bắt đầu .....................................................................................................23
2.5 Màn hình trợ giúp ....................................................................................................24
2.6 Màn hình giới thiệu ..................................................................................................25
2.7 Màn hình kết thúc.....................................................................................................26
CHƯƠNG 4: KẾT LUẬN..............................................................................................27
1. Kết quả đạt được.........................................................................................................27
2. Đánh giá. .................................................................................................................... 27
2.1. Những điểm làm được.............................................................................................27
2.2. Những điểm chưa làm được.....................................................................................27

3. Hướng phát triển.........................................................................................................28
CHƯƠNG 5: TÀI LIỆU THAM KHẢO........................................................................29

5|Page


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1. Giới thiệu ý tưởng và nội dung game
1.1. Giới thiệu ý tưởng
-Là một game dạng vượt chướng ngại vật nhưng Pets escape có vẻ khơng dễ dàng
cho người chơi địi hỏi người chơi thật nhanh nhạy và tinh mắt để tìm ra nơi di chuyển
mà mình khơng gặp những chướng ngại vật phía trước .
-Tuy vậy nhưng đây có thể là một game được nhiều người u thích bởi nó thử
thách người chơi từ những thử thách đơn giản, nhẹ nhàng đến khó khăn và phức tạp hơn .
-Người chơi chỉ có duy nhất một mạng để vượt qua tất cả các thử thách của trị
chơi này nên chỉ có duy nhật một cơ hội để thử thách bản thân và phải thật thận trọng
trong từng bước di chuyển của mình để vượt qua tất cả các chướng ngại vật vì càng ngày
chướng ngại vật càng nhiều và càng khó và chỉ khi vượt qua màn chơi này người chơi
mới được đi đến màn chơi kế tiếp, Pets escape đòi hỏi người chơi cần phải tập trung hết
sức để đi đến màn cuối cùng của game .
1.2. Nội dung game
Như chúng ta đã biết trước đây thú cưng như chó mèo chủ yếu là các con động vật
hoang, một số may mắn hơn thì được chủ đem về ni .nhưng hiện nay chó mèo là một
trong những con vật được yêu thương bậc nhất và ngày càng phổ biến ở Việt Nam .
Nhưng từ khoảng 10 năm trở lại đây hiện tượng trộm cướp chó, mèo ngày cũng
trở nên nhiều cho dù là các lồi bình thường hay đến những lồi mắc tiền chúng đều
không tha .
Do ngày càng nhiều đồng loại của chúng bị bắt thì càng ngày chúng càng thơng
minh hơn và để bảo vệ an tồn cho chính bản thân và đồng loại mình ,các lồi thú cưng
bắt đầu lên kế hoạch để thoát khỏi tay bọn chúng và làm cách nào để thoát khỏi chúng ta

sẻ đến với game “Pets escape” để biết được sự thơng minh của bạn chó và bạn mèo nhé .

6|Page


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ PHÂN TÍCH
THIẾT KẾ CƠ SỠ DỮ LIỆU
1. Giới thiệu về ngôn ngữ C#
C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) là một ngơn ngữ lập trình hướng
đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ.
Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao
gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là
ngơn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng
với các sản phẩm Turbo Pascal, Delphi, J++, WFC.
C# theo một hướng nào đó, là ngơn ngữ lập trình phản ánh trực tiếp nhất đến.NET
Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh mẽ vào
Framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình
dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class,
delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưng của.NET runtime.
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc
điểm nào đó, nhưng khơng bao gồm các giới hạn sau đây:


Các con trỏ chỉ có thể được sử dụng trong chế độ khơng an tồn. Hầu hết các đối
tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ đệm.
Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; cịn những đối tượng

thuộc bộ thu rác (garbage-collector) thì chỉ được gọi bằng cách tham chiếu.
• Các đối tượng khơng thể được giải phóng tường minh.

• Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract







interfaces). Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi.
C# thì an-tồn-kiểu (typesafe) hơn C++.
Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]").
Kiểu thứ tự được thay thế bằng tên miền khơng gian (namespace).
C# khơng có tiêu bản.
Có thêm Properties, các phương pháp có thể gọi các Properties để truy cập dữ liệu.
Có reflection.
7|Page


2. Các công cụ sử dụng
2.1. Unity 2017.1.1P3
Unity3D là phần mềm làm games trực tiếp theo thời gian thực, mà khơng cần
render, cho phép người design game có thể thiết kế InterfaceGraphic, map hay character
… từ một phần mềm thứ 2 (thường là các phần mềm thiết kế đồ họa chuyên nghiệp như
3Dsmax, Blender, Maya, XSL,Cinema4D,Cheetah3D, Modo, Autodesk FBX,
LightWave…) sau đó chỉ việc import nó vào trong Unity với định dạng của tập tin là
*.FBX hay *.dae, *.3DS, *.dxf và *.obj, nhưng định dạng *.FBX hay được dùng vì được
tối ưu hóa hơn, cịn dùng các định dạng khác ngồi FBX thì phải cài phần mền thiết kế
character tưng ứng thì mới dùng được (tức là dùng Maya có định dạng *.mb, *.ma thì
muốn dùng được phải cài Maya)


Ngồi ra khi bạn design được một game thì bạn có thể xuất được ra một file.exe và
có thể chạy và chơi được trên PC khác.

8|Page


Một thế mạnh nữa của Unity là bạn có thể chạy demo game của bạn ngay trongkhi
design, nó có hỗ trợ hai chế độ là Scene và Game, rất thuận tiện cho việc test thử các
modulGame.
Unity3D có 2 loại phiên bản, một cho người dùng free, và một phiên bản pro thì
mất phí.
Khi tải Unity về các bạn cài đặt bình thường, đến khi kết thúc cài đặt nền các bạn
chọn phiên bản Pro thì cần phải mua, cịn nếu là người dùng free thì các bạn chọn kích
hoạt qua web, chỉ cần có kết nối mạng internet, sau đó chọn cài đặt thủ công và nhập
mail, chọn free là bạn có thể sử dụng một bản Unity free.
Unity hỗ trợ 3 ngơn ngữ phát triển chính là C#, UnityScript (dựa trên Javascript)
và Boo. Boo là ngơn ngữ ít được sử dụng nhất và thường được khuyên không nên dùng.
C# là ngôn ngữ được dùng phổ biến nhất trong cộng đồng Unity với rất nhiều plugin và
ví dụ sử dụng ngơn ngữ này. Bạn có thể cân nhắc sử dụng Unityscript tuy nhiên có thể
bạn sẽ gặp vấn đề khi tương tác với một số plugin được viết bằng C#.

2.1.1. Ưu điểm và nhược điểm
• Ưu điểm:
Unity có rất nhiều tính năng tuyệt vời:
- Unity có một cồng đồng rất lớn về asset và plugin – trong đó có rất nhiều resources free
và có nhiều thứ rất đáng bỏ tiền
- Unity có bộ cơng cụ rất trực quan và editor có thể mở rộng bằng plugins
- Unity hỗ trợ rất nhiều định dạng asset khác nhau và có thể tự động chuyển đổi
đến định dạng phù hợp nhất với nền tảng thích hợp
- Unity hỗ trợ nhiều nền tảng: di động, desktop, web và console

- Việc triển khai đến các nền tảng khác nhau cũng khá dễ quản lý
- Bạn có thể dễ dàng xây dựng một game 3D mà khơng cần cấu hình q phức tạp
- Unity bản free có hầu hết những tính năng quan trọng nhất
- Unity bản trả phí phù hợp với các developer chun nghiệp
• Nhược điểm
Tuy nhiên Unity cũng có vài nhược điểm mà bạn cần cân nhắc:
9|Page


- Việc hợp tác rất khó khăn. Unity sử dụng một server asset rất hiệu quả để hỗ trợ
các đội phát triển phần mềm hợp tác với nhau. Tuy nhiên nếu bạn khơng sử dụng nó thì
việc chia sẽ code và asset giữa các thành viên trong team có thể gây ra những vấn đề
nghiêm trọng. Lựa chọn tốt nhất là sử dụng một số công cụ quản lý resource bên ngồi
nhưng có một vài binary file khơng thể merge được với nhau và việc cập nhật asset có thể
gây nên một số vấn đề trong scenes, mất kết nối đến script và các đối tượng khác
- Hiệu năng chưa thật sự ấn tượng cho đến khi Unity 5 ra mắt. Unity 5 đã chạy hầu
hết trên một luồng duy nhất và hầu như không sử dụng thêm 1 nhân phụ nào trên các thiết
bị di động. Bộ biên dịch chưa được tối ưu tốt cho các bộ xử lý ARM trên hầu hết các thiết
bị di động. Để giải quyết vấn đề này thì Unity đã quyết định transpile (source-to-source
compiler) sang C++ và sử dụng LLVM để tối ưu được nhiều hơn thay vì giải quyết vấn
đề này trực tiếp trên các phiên bản sau này
Mã nguồn của engine không được công bố kể cả cho những người dùng chấp nhận
trả tiền. Điều đó có nghĩa là nếu bạn gặp một bug với engine bạn phải chờ Unity fix
chúng trong các bản tiếp theo. Điều này có thể gây nên những vấn đề nghiêm trọng với
project của bạn.
2.2. MonoDevelop-Unity
MonoDevelop (cịn gọi là Xamarin Studio) là một mơi trường phát triển tích hợp
mã nguồn mở cho Linux, macOS và Windows. Trọng tâm chính của nó là phát triển các
dự án sử dụng các khn khổ Mono và .Net. MonoDevelop tích hợp các tính năng tương
tự như của NetBeans và Microsoft Visual Studio, chẳng hạn như hoàn thành mã tự động,

kiểm soát nguồn, giao diện người dùng đồ họa (GUI) và thiết kế Web. MonoDevelop tích
hợp một nhà thiết kế Gtk # GUI gọi là Stetic. Nó hỗ trợ Boo, C, C ++, C #, CIL, D, F #,
Java, Oxygene, Vala và Visual Basic.NET.

10 | P a g e


MonoDevelop có thể được sử dụng trên Windows, macOS và Linux. Các bản phân
phối Linux chính thức được hỗ trợ bao gồm CentOS, Debian, Fedora, openSUSE, SUSE
Linux Enterprise, Red Hat Enterprise Linux và Ubuntu, với nhiều bản phân phối khác
cung cấp các bản xây dựng khơng chính thức của MonoDevelop trong các kho của họ.
MacOS và Windows đã được chính thức hỗ trợ kể từ phiên bản 2.2.
MonoDevelop đã bao gồm một trình biên dịch C # (một thay thế cho MSBuild và
CSC) kể từ phiên bản đầu tiên của nó. Nó hiện đang bao gồm một trình biên dịch hỗ trợ
C # 1.0, C # 2.0, C # 3.0, C # 4.0, C # 5.0 và C # 6.0.
Một phiên bản tùy biến của MonoDevelop phát triển với Unity, cơng cụ trị chơi
của Unity Technologies. Nó cho phép kịch bản C # tiên tiến, được sử dụng để biên dịch
các trị chơi video nền tảng cho trình biên dịch Unity.
2.3. CorelDRAW & Photoshop Cs6
2.3.1. CorelDRAW
CorelDRAW là một phần mềm biên tập đồ họa vectơ được phát triển và tiếp thị
bởi Corel Corporation ở Ottawa, Canada. Đây cũng là tên của Bộ công cụ đồ họa Corel.
Phiên bản mới nhất có tên là X8 (thực chất là phiên bản 18), được xuất xưởng năm 2016.
Có rất nhiều sự sáng tạo trong thiết kế của CorelDRAW: một công cụ biên tập nút
hoạt động trên nhiều đối tượng khác nhau, căn lề chữ, stroke-before-fill, fill/stroke nhanh,
các palette chọn màu, các phép chiếu và các phép điền gradient phức tạp.
CorelDRAW đã tự phân biệt mình với các đối thủ cạnh tranh bằng nhiều cách.
Điều đầu tiên đó là định hình một bộ cơng cụ đồ họa hơn chỉ là một chương trình đồ họa
vectơ. Thứ hai, gói phần mềm này ln ln chứa một bộ sưu tập lớn các loại phông chữ
và các hình vẽ thiết kế sẵn.

Thời gian trơi đi, có thêm nhiều thành phần bổ trợ được thiết kế để đóng gói cùng
với CorelDRAW. Danh sách các gói phần mềm được đóng gói thường thay đổi theo từng
phiên cản. Có nhiều chức năng chính vẫn cịn được giữ ngun từ phiên bản này đến
phiên bản khác, ngoài một số chức năng như: PowerTRACE (bộ chuyển đổi từ ảnh
bitmap sang đồ họa vectơ), PHOTO-PAINT (bộ biên tập đồ họa bitmap), và CAPTURE
(tiện ích chụp màn hình).
Phiên bản hiện thời của CorelDRAW Graphics Suite X8 chứa các gói sau:
CorelDRAW® X8: Phần mềm biên tập đồ họa vectơ và chỉnh sửa trang.
Corel® PHOTO-PAINT™ X8: Phần mềm chỉnh sửa ảnh.
Corel® CAPTURE™ X8: Cho phép nhiều chế độ thu nhận hình ảnh.
11 | P a g e


Corel® CONNECT™: Cơng cụ tìm kiếm nội dung.
Corel® PowerTRACE™ X8: Chuyển đổi ảnh raster sang đồ họa vectơ.
Corel® Website Creator™*: Công cụ thiết kế Website.
PhotoZoom Pro 4†: Công cụ cho việc mở rộng hình ảnh kỹ thuật số.
ConceptShare™: Cơng cụ tương tác trực tuyến.
Corel cũng xuất bản một số các phần mềm đồ họa dưới tên Corel Painter.

12 | P a g e


2.1.1. Photoshop Cs6.
Adobe Photoshop (thường được gọi là Photoshop) là một phần mềm chỉnh sửa đồ
họa được phát triển và phát hành bởi hãng Adobe Systems ra đời vào năm 1988 trên hệ
máy Macintosh. Photoshop được đánh giá là phần mềm dẫn đầu thị trường về sửa ảnh
bitmap và được coi là chuẩn cho các ngành liên quan tới chỉnh sửa ảnh. Từ phiên bản
Photoshop 7.0 ra đời năm 2002, Photoshop đã làm lên một cuộc cách mạng về ảnh
bitmap. Phiên bản mới nhất hiện nay là Adobe Photoshop CC.

Ngoài khả năng chính là chỉnh sửa ảnh cho các ấn phẩm, Photoshop còn được sử
dụng trong các hoạt động như thiết kế trang web, vẽ các loại tranh (matte painting và
nhiều thể loại khác), vẽ texture cho các chương trình 3D... gần như là mọi hoạt động liên
quan đến ảnh bitmap.
Adobe Photoshop có khả năng tương thích với hầu hết các chương trình đồ họa
khác của Adobe như Adobe Illustrator, Adobe Premiere, After After Effects và Adobe
Encore.
Adobe Photoshop CS6 là phiên bản mới nhất của AdobePhotoshop. Mời các bạn
cùng tìm hiểu và download miễn phí phần mềm Adobe Photoshop CS6! AdobePhotoshop
CS6 là phiên bản mới nhất của AdobePhotoshop.

13 | P a g e


3. Các sơ đồ
3.1. Mơ hình ERD.

14 | P a g e


3.2. Mơ hình DFD.

15 | P a g e


3.3. Mơ hình FDD.
16 | P a g e


17 | P a g e



CHƯƠNG 3: THIẾT KẾ GIAO DIỆN
1. Danh sách các màn hình chính
STT

Tên màn hình

Ý nghĩa / Ghi chú

1

Màn hình chính.

Là màn hình chứa các nút tác vụ như : PLAY,
HELP, ABOUT.

2

Màn hình chọn nhân vật

Là màn hình để người chơi chọn nhân vật .

3

Màn hình chọn độ khó

Là màn hình để người chơi chọn mức độ khó, dễ
trong trị chơi.


4

Màn hình giới thiệu

Là màn hình để giới thiệu nội dung, cơng cụ và
người làm game.

5

Màn hình trợ giúp

Là màn hình để hỗ trợ người chơi cách chơi
game.

6

Màn hình chơi game

Là màn hình cho người chơi thực hiện các thao
tác để vượt qua các thử thách trong game .

7

Màn hình tạm dừng

Là màn hình sẻ dừng lại mọi hoạt động của game
cho đến khi người chơi sẳng sàng trở lại.

8


Màn hình kết thúc

Là màn hình sau khi người chơi khơng vượt qua
được thử thách trong game và kết thúc game.

2. Chi tiết màn hình
18 | P a g e


2.1 Màn hình chính

19 | P a g e


2.2 Màn hình chọn nhân vật

2.2.1 Các nhân vật
20 | P a g e


2.3 Màn hình chọn độ khó

21 | P a g e


2.4 Màn hình bắt đầu
22 | P a g e


2.6 Màn hình trợ giúp

23 | P a g e


2.7 Màn hình giới thiệu
24 | P a g e


2.8 Màn hình kết thúc
25 | P a g e


×