Tuy nhiên, việc ứng dụngthành tựu CNTT một ứng dụng thành công trong lĩnh vực game cũng còn mới ởnước ta.. Vì vậy, đồ án của nhóm đó là tìm hiểu về “Lập Trình Game Bắn Súngbằng Python” đ
Trang 1ĐẠIHỌCĐÀNẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
&TRUYỀNTHÔNGVIỆT -HÀN
KhoaKhoaHọcMáyTính
BÁOCÁOĐỒÁNCƠSỞ4
Lậptrìnhgame bắnsúngvàngônngữPython
LêVănTrườngVỹ
Giảngviênhướngdẫn:PGS.TSHuỳnhCôngPháp
ĐàNẵng,tháng12năm2022
Trang 2ĐẠIHỌCĐÀNẴNG TRƯỜNGĐẠIHỌC CÔNGNGHỆTHÔNGTIN&TRUYỀNTHÔNG VIỆT
-HÀN
KhoaKhoaHọcMáyTính
BÁO CÁOĐỒÁNCƠSỞ4
Lậptrìnhgamebắnsúngvàngôn ngữPython
ĐàNẵng,tháng5năm2022
Trang 3Những năm gần đây, vai trò của các hệ thống thông tin trong doanh nghiệp đãngàyc à n g l ớ n m ạ n h T ừ c h ỗ c h ỉ đ ư ợ c s ử d ụ n g đ ể h ỗ t r ợ m ộ t s ố h o ạ t đ
ộ n g trong văn phòng, hệ thống thông tin đã trở nêncó vai trò chiếnlượct r o n g doanh nghiệp Đặc biệt những thành tựu trong công nghệ thông tin (CNTT) đãkhiến doanh nghiệp ngày càng chú ý hơn tới việc áp dụng những nó để giatăngthế cạnh tranh và tạo cơ hội cho mình Hiện nay, trào lưu ứng dụngemailmaketing nhận thông báo ngay trên điện thoại và máy tính không còn xalạ.Thành tựu CNTT không chỉ giới hạn trong các doanh nghiệp lớn, tầm cỡ đaquốc gia mà còn lan rộng trong tất cả các doanh nghiệp, kể cả những doanhnghiệp vừa và nhỏ ở những nước đang phát triển Tuy nhiên, việc ứng dụngthành tựu CNTT một ứng dụng thành công trong lĩnh vực game cũng còn mới ởnước ta Vì vậy, đồ án của nhóm
đó là tìm hiểu về “Lập Trình Game Bắn Súngbằng Python” để có cái nhìn sâu hơn, thực tế hơn
về việc ứng dụng hệ thốngthông tin trong các game giải trí nhẹ nhàng Từ đó nhóm rút ra được những mặtthành công cũng như khuyếtđiểmcủa hệ thống, kinh nghiệm triển khai ứngdụng game và các mặt về đạo đức, xã hội trong hệ thống thông tin quản lý vàthiết lập game.Vì thời gian thực hiện không nhiều nên chắcchắn còn nhiềuthiếusót,mong đượcthầy côchỉ dẫn thêm.
Trang 4Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ,giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt quãngthời gian năm năm từ khi bắt đầu học tập tại giảng đường trường Đại học Công nghệthông tin và Truyền Thông Việt Hàn – Đại học Đà Nẵng, nhóm em đã nhận được rấtnhiềusựquantâm,giúpđỡcủathầycôvàcácbạn
Với lòng biết ơn sâu sắc nhất, nhóm em xin gửi lời cảm ơn chân thành tới toàn thểcácthầycôgiáotrong trường ĐạihọcCôngnghệthông tinvàTruyền Thông Việt Hàn – Đại học Đà Nẵng, những người đã dạy dỗ và truyền đạt vốn kiến thức vô cùngquý báu của mình cho chúng em trong suốt quãng thời gian học tại đây Những tìnhcảm và kiến thức mà thầy cô đã gửi trao cho chúng em sẽ là hành trang cho chúng emđểbướcđitrên những đoạnđườngtương lai
Nhóm em cũng xin gửi lời cảm ơn sâu sắc tới Thầy giáo – PGS.TS Huỳnh CôngPháp , người đã tận tình hỗ trợ và dẫn dắt chúng nhóm em trong suốt quá trình thựchiệnđồánđểcó đượckếtquảmột cách tốtnhất
Mộtlầnnữanhómemxinđượcchânthànhcảmơn!
Emxintrântrọngcảmơn!!
Sinh viên,Nguyễn Ngọc
Trang 5ỹ
Trang 6………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 7MỞĐẦU 2
LỜI CẢMƠN 3
NHẬN XÉT CỦAGIẢNG VIÊNHƯỚNGDẪN 4
MỤCLỤC 5
MỤCLỤC HÌNH ẢNH 5
CHƯƠNG1.K H Ả O SÁTVÀXÁC L P DỰ ÁN ẬP DỰ ÁN 6
1.1 Giới thiệuđềtài 6
1.2 Phươngphápthực hiện 7
1.3 Cácứng dụng tương tự 7
CHƯƠNG2.PHÂNTÍCH VÀTHIẾTKẾ 7
2.1 Môhình hóayêu câu 7
2.1.2 Danhsách cácusecase 7
2.1.3 Biểu đồ ca sử dụng 8
CHƯƠNG3.XÂYDỰNGỨNG DỤNG 11
3.1 Tìm hiểuvềngônngữ lậptrìnhPythomvàdemo game 11
3.1.1 Python làgì ? 11
3.1.2 Tính năngchínhcủa Python? 11
3.2 Demo game 12
KẾT LU N ẬP DỰ ÁN VÀHƯỚNG PHÁTTRIỂN 16
1 Kết quảđạtđược 16
2 Hướngnghiêncứu 16
3 Tài liệuthamkhảo 16
MỤCLỤCHÌNHẢNH
Trang 8Hình1.Biểu đồusecasechính 8
Hình2.Biểuđồhoạt độngđăngnhập 9
Hình3.Biểuđồhoạt độngđăngkí 10
Hình4.Biểu đồtuần tựđăng nhập 10
Hình5.Biểu đồgiao tiếpđăngnhập 11
Hình6.Giao diệnđăngkí đangnhậpcủaứngdụng 13
Hình7.Giao diệnđăngbài và bài viếtđãđăng 14
Hình8.Giao diệnthích vàbìnhluận bài viết 15
Hình9 Người bìnhluậnbàiviết cóthểxoá bìnhluậncủamình 16
CHƯƠNG1.K H Ả O SÁTVÀXÁCLẬPDỰÁN
Xã hội ngày càng phát triển, nhu cầu giải trí của con người ngày càng tăngcao.Cùngvớisựpháttriểncủacôngnghệthôngtin,điệntử,cácthiếtbịchơigame ngày càng phổ biến Trong những năm gần đây ngành công nghệ gamenổilênvà
đemlạidoanhthukhổnglồ.C ó thể nóigamekhôngchỉlàmột
Trang 9phương tiện giải trí cơ bản, nó còn là một lĩnh vực đáng quan tâm và
theođuổi Thiết kế game là một công việc không dễ dàng đòi hỏi rất nhiều thờigianvàcôngsức,tuynhiênquáđóta cóthểbiếnnhữngdòngcode khôkhanthành những trải nghiệm thú vị cho người chơi, đồng thời có thể học hỏinhữngkiếnthứcmớilậptrình
gamebằngpython
- Trướctiêntaphảinêubàitoán,phântíchvàthiếtkếgiaodiện,cơchếcủa game
- Dựatrêncácmụctiêucụthểđểtìmkiếmthôngtinsửdụng,thiếtkếgiaodiện
phù hợp
- SauđóxâydựngứngdụngsửdụngngônngữPythonđểthiếtkếvàxâydựng game
Hiệnnaycórấtnhiềugame
tươngtựcùngthểloại:Mộtsốứngdụng:space-shooter,bắngà,…
CHƯƠNG2.PHÂNTÍCHVÀTHIẾTKẾ
2.1.1 Danhsáchcácactor
- Biểuđồuse case :C ó mộtđốitượngđượcsửdụnghệthốngnày:
+Ngườidùng
Trang 102.1.2 Danhsáchcácusecase
- Ngườidùng:dichuyểnmáybay,dichuyểntránhđịch,bắntiêudiệtđịch
2.1.3 Biểuđồcasửdụng
A Usecasediagram
B Classdiagram
Trang 11C ActivityDiagram(gameplayer)
Trang 12D SequenceDiagram
Trang 133.1.1 Python làgì?
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng.Ngôn ngữ lập trình Python được tạo bởi Guido van Rossum và lần đầu ra mắt vàonăm 1991 Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và
dễ nhớ.Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện chongười mới học lập trình Cấu trúc của Python còn cho phép người sử dụng viết mãlệnhvới số lầngõ phímtối thiểu
Ngôn ngữ lập trình đơn giản, dễ học:Python có cú pháp rất đơn giản, rõ ràng
Nódễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác nhưC++, Java, C# Python làm cho việc lập trình trở nên thú vị, cho phép bạn tậptrungvàonhững giải pháp chứ không phảicúpháp
Miễn phí, mã nguồn mở:Bạn có thể tự do sử dụng và phân phối Python, thậm
chílàdùngchomụcđíchthươngmại.Vìlàmãnguồnmở, bạnkhôngnhữngcóthểsửdụng các phần mềm, chương trình được viết trong Python mà còn có thể thay đổimã nguồn của nó Python có một cộng đồng rộng lớn, không ngừng cải thiện nómỗilầncậpnhật
Khảnăngdichuyển:Các chươngtrìnhPythoncóthểdichuyểntừnềntảngnàysang nền tảng
khác và chạy nó mà không có bất kỳ thay đổi nào Nó chạy liềnmạchtrênhầuhếttấtcảcác
nềntảngnhưWindows,macOS,Linux
Khả năng mở rộng và có thể nhúng:Giả sử một ứng dụng đòi hỏi sự phức tạp
rấtlớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C++ và những ngôn ngữkhác (có thể gọi được từ C) vào code Python Điều này sẽ cung cấp cho ứng dụngcủabạnnhữngtínhnăngtốthơncũngnhưkhảnăngscriptingmànhữngngônngữlậptrìn hkháckhó có thểlàmđược
Ngôn ngữ thông dịch cấp cao:Không giống như C/C++, với Python, bạn
khôngphải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp những
dữ liệuvô nghĩa, Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữmáytínhcóthể
hiểu.Bạnkhôngcầnlolắngvềbấtkỳhoạtđộngởcấpthấpnào
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến:Python có một
sốlượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của bạn trở nên dễ thởhơnrấtnhiều,đơngiản vìkhông phảitựviếttất cả code.Vídụ:Bạncần
kếtnốicơsởdữliệuMySQLtrênWebserver?BạncóthểnhậpthưviệnMySQLdb vàsửdụng
nó Những thư viện này được kiểm tra kỹ lưỡng và được sử dụng bởi hàngtrămngười Vìvậy, bạncóthểchắc chắnrằngnósẽ khônglàmhỏngcode hayứngdụng củamình
Hướng đối tượng:Mọi thứ trong Python đều là hướng đối tượng Lập trình
hướngđối tượng (OOP) giúp giải quyết những vấn đề phức tạp một cách trực quan VớiOOP, bạn có thể phân chia những vấn đề phức tạp thành những tập nhỏ hơn bằngcáchtạoracácđối
tượng
Trang 143.2 Demogame
a Giaodiệnmànhìnhchờ
b Giaodiệnmànhìnhchính
Trang 15c Đốitượng:duthuyền, kẻđịch
d Các kiếusúng
Trang 16e Bloked
f Sốmạng
g SốĐiểm
Trang 17h Mistery
i Gameover
Trang 181 Kếtquảđạtđược
Nhómchúngemđãthựchiệnđượcmộtsảnphẩmgamecơbảnnhất,đápứngnhucầu sửdụngcơbản của mộtgameđểmọi người giảitrí
2 Hướngnghiêncứu
Với bản báo cáo này, sẽ giúp nhóm chúng em phân tích được những ưu nhược
điểmcủa đồ án, định ra những mục tiêu cụ thể và đưa ra những kế hoạch nhằm đạt đượcmụcđíchđãđưara,làmthêmcácchứcnăng,tínhnănggamehayhơnphụcvụchịthịyếungư
ời đam mêvềgame
-Đồáncủachúngemvẫnđangtrongquátrìnhnghiêncứu nênvẫnchưa cóđượckếtquả thực tế, tuy nhiên em tin rằng nếu có thể đáp ứng được những yêu cầu đặt ra thìnócó thểđemlại hiệuquảcaokhi
đượcđưavàohoạtđộng
3 Tàiliệuthamkhảo
https://hocvienagile.com/lap-trinh-game-bang-python-cho-nguoi-moi-bat-dau/ https://vtc.edu.vn/lap-trinh-game-python/ https://www.youtube.com/watch?
v=Q-8Xw9KTM&t=3627s https://www.youtube.com/watch?
v=_2yUP3WMDRc&t=32s