ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT - HÀN Khoa Khoa Học Máy Tính BÁO CÁO ĐỒ ÁN CƠ SỞ 4 Lập trình game bắn súng và ngôn ngữ Python Sinh viên thực hiện:
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT - HÀN Khoa Khoa Học Máy Tính
BÁO CÁO ĐỒ ÁN CƠ SỞ 4
Lập trình game bắn súng và ngôn ngữ Python
Sinh viên thực hiện:
Lớp:
Nguyễn Ngọc Ánh
Lê Văn Trường Vỹ 20GIT
Giảng viên hướng dẫn: PGS.TS Huỳnh Công Pháp
Đà Nẵng, tháng 12 năm 2022
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT -HÀN Khoa Khoa Học Máy Tính
BÁO CÁO ĐỒ ÁN CƠ SỞ 4
Lập trình game bắn súng và ngôn ngữ Python
Đà Nẵng, tháng 5 năm 2022
Trang 3MỞ ĐẦU
Những năm gần đây, vai trò của các hệ thống thông tin trong doanh nghiệp đã ngày càng lớn mạnh Từ chỗ chỉ được sử dụng để hỗ trợ một số hoạt động trong văn phòng, hệ thống thông tin đã trở nên có vai trò chiến lược trong 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ó để gia tăngthế cạnh tranh và tạo cơ hội cho mình Hiện nay, trào lưu ứng dụng email maketing nhận thông báo ngay trên điện thoại và máy tính không còn xa lạ.Thành tựu CNTT không chỉ giới hạn trong các doanh nghiệp lớn, tầm cỡ đa quốc gia mà còn lan rộng trong tất cả các doanh nghiệp, kể cả những doanh nghiệp vừa và nhỏ ở những nước đang phát triển Tuy nhiên, việc ứng dụng thà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úng bằng Python” để có cái nhìn sâu hơn, thực tế hơn về việc ứng dụng hệ thống thông tin trong các game giải trí nhẹ nhàng Từ đó nhóm rút ra được những mặt thành công cũng như khuyết điểm của hệ thống, kinh nghiệm triển khai ứng dụ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ắc chắn còn nhiều thiếu sót, mong được thầy cô chỉ dẫn thêm.
Trang 4LỜ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 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ãng thờ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ất nhiều sự quan tâm, giúp đỡ của thầy cô và các bạ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ác thầy cô giáo trong 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ững người đã dạy dỗ và truyền đạt vốn kiến thức vô cùng quý 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ình cả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 đi trên những đoạn đường tươ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ông Phá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ực hiện đồ án để có được kết quả một cách tốt nhất
Một lần nữa nhóm em xin được chân thành cảm ơn!
Em xin trân trọng cảm ơn !!
Sinh viên,
Nguyễn Ngọc Ánh
Lê Văn Trường Vỹ
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6MỤC LỤC
MỞ ĐẦU 2
LỜI CẢM ƠN 3
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 4
MỤC LỤC 5
MỤC LỤC HÌNH ẢNH 5
CHƯƠNG 1 KHẢO SAT VA XAC LÂP DƯ AN 6
1.1 1 Giới thiệu đề tài 6
.2 Phương pháp thực hiện 7
.3 Các ứng dụng tương tự 7
1 CHƯƠNG 2 PHÂN TÍCH VA THIẾT KẾ 7
2 2 1 Mô hình hóa yêu câu 7
.1.2 Danh sách các usecase 7
2.1.3 Biểu đồ ca sử dụng 8
CHƯƠNG 3 XÂY DƯNG ỨNG DỤNG 11
3 3 1 3 Tìm hiểu về ngôn ngữ lập trình Pythom và demo game 11
Python là gì ? 11
Tính năng chính của Python? 11
.1.1 1.2 3 2 Demo game 12
KẾT LUÂN VA HƯỚNG PHAT TRIỂN 16
1 2 3 Kết quả đạt được 16
Hướng nghiên cứu 16
Tài liệu tham khảo 16
MỤC LỤC HÌNH ẢNH
Trang 7Hình 1 Biểu đồ use case chính 8
Hình 2 Biểu đồ hoạt động đăng nhập 9
Hình 3 Biểu đồ hoạt động đăng kí 10
Hình 4 Biểu đồ tuần tự đăng nhập 10
Hình 5 Biểu đồ giao tiếp đăng nhập 11
Hình 6 Giao diện đăng kí đang nhập của ứng dụng 13
Hình 7 Giao diện đăng bài và bài viết đã đăng 14
Hình 8 Giao diện thích và bình luận bài viết 15
Hình 9 Người bình luận bài viết có thể xoá bình luận của mình 16
CHƯƠNG 1 KHẢO SÁT VÀ XÁC LẬP DƯ Á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ăng cao Cùng với sự phát triển của công nghệ thông tin, điện tử, các thiết bị chơi game ngày càng phổ biến Trong những năm gần đây ngành công nghệ game nổi lên và đem lại doanh thu khổng lồ Có thể nói game không chỉ là một
Trang 8phươ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ời gian và công sức, tuy nhiên quá đó ta có thể biến những dòng code khô khan thành những trải nghiệm thú vị cho người chơi, đồng thời có thể học hỏi
những kiến thức mới lập trình game bằng python
-Trước tiên ta phải nêu bài toán, phân tích và thiết kế giao diện , cơ chế của game
Dựa trên các mục tiêu cụ thể để tìm kiếm thông tin sử dụng, thiết kế giao diện phù hợp
Sau đó xây dựng ứng dụng sử dụng ngôn ngữ Python để thiết kế và xây dựng
-game
Hiện nay có rất nhiều game tương tự cùng thể loại :
Một số ứng dụng: space-shooter,bắn gà,…
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ
2.1.1 Danh sách các actor
Biểu đồ use case : Có một đối tượng được sử dụng hệ thống này :
Người dùng
-+
Trang 92
.1.2 Danh sách các usecase
- Người dùng : di chuyển máy bay , di chuyển tránh địch , bắn tiêu diệt địch
.1.3 Biểu đồ ca sử dụng
A Usecase diagram
B Class diagram
Trang 10C Activity Diagram (game player)
Trang 11D Sequence Diagram
Trang 12CHƯƠNG 3 XÂY DƯNG ỨNG DỤNG
3
3
.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ào nă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 cho ngườ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ệnh với số lần gõ phím tố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ập trung vào những giải pháp chứ không phải cú 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ùng cho mục đích thương mại Vì là mã nguồn mở, bạn không những có 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 đổi
mã 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ỗi lần cập nhật
Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền tảng này
sang 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ền mạch trên hầu hết tất cả các nền tảng như 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ất
lớ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ụng của bạn những tính năng tốt hơn cũng như khả năng scripting mà những ngôn ngữ lập trình khác khó 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ông
phả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ệu
vô nghĩa, Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữ máy tính có thể hiểu Bạn không cần lo lắng về bất kỳ hoạt động ở cấp thấp nà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ơn rất nhiều, đơn giản vì không phải tự viết tất cả code Ví dụ: Bạn cần kết nối
cơ sở dữ liệu MySQL trên Web server? Bạn có thể nhập thư viện MySQLdb 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àng trăm người Vì vậy, bạn có thể chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của mì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ới OOP, 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ằng cách tạo ra các đối tượng
Trang 133.2 Demo game
a Giao diện màn hình chờ
b Giao diện màn hình chính
Trang 14c Đối tượng: du thuyền, kẻ địch
d Các kiếu súng
Trang 15e Bloked
f Số mạng
g Số Điểm
Trang 16h Mistery
i Game over
Trang 17KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1 Kết quả đạt được
Nhóm chúng em đã thực hiện được một sản phẩm game cơ bản nhất, đáp ứng nhu cầu sử dụng cơ bản của một game để mọi người giải trí
2 Hướng nghiên cứ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ểm của đồ án, định ra những mục tiêu cụ thể và đưa ra những kế hoạch nhằm đạt được mục đích đã đưa ra, làm thêm các chức năng ,tính năng game hay hơn phục vụ chị thị yếu người đam mê về game
- Đồ án của chúng em vẫn đang trong quá trình nghiên cứu nên vẫn chưa có được kết quả 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ể đem lại hiệu quả cao khi được đưa vào hoạt động
3 Tài liệu tham khả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