1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo chuyên Đề học phần ngôn ngữ lập trình python xây dựng game Đua xe

22 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Chuyên Đề Học Phần Ngôn Ngữ Lập Trình Python Xây Dựng Game Đua Xe
Tác giả Lương Thị Xuân Mai, Lê Thị Quỳnh Hoa
Người hướng dẫn Th.S Trần Thị Minh Thu
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo chuyên đề
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 3,16 MB

Nội dung

Để đáp ứng nhu cầu ngày một gia tăng về các tựa game 2D,nhóm chúng em đã lên ý tưởng và xây dựng ứng dựng trò chơi giải trí “Gameđua xe” dựa trên ngôn ngữ lập trình python... CHƯƠNG 1: T

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN

NGÔN NGỮ LẬP TRÌNH PYTHON

XÂY DỰNG GAME ĐUA XE

Giảng viên hướng dẫn : Th.S TRẦN THỊ MINH THU Sinh viên thực hiện : LƯƠNG THỊ XUÂN MAI

: LÊ THỊ QUỲNH HOA Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MỀM

Khóa : 2021-2026

Hà Nội, tháng 11 năm 2024

Trang 2

PHIẾU CHẤM ĐIỂM STT Họ và tên

Trang 3

MỤC LỤC

Trang 4

DANH MỤC HÌNH ẢNH

Trang 5

LỜI MỞ ĐẦU

Trong cuộc sống hiện đại ngày nay, khi nền kinh tế ngày càng phát triểnngành công nghệ thông tin là một trợ thủ đắc lực cho hầu hết các ngành nghề

Sự góp mặt của các chương trình ứng dụng đã mang lại nhiều lợi ích thiết thực

và làm cho cách thức vận hành và hoạt động của các liên ngành khác trở lên linhhoạt và mang lại hiệu quả cao Đặc biệt, trong thời đại công nghệ 4.0 chúng tagần như không thể thiếu được những khái niệm liên quan đến công nghệ thôngtin, từ các phương tiện truyền thông, xã hội, văn hóa, giải trí, khoa học kỹ thuậtcho đến lĩnh vực kinh doanh, quản lý, y tế, giáo dục…Một trong những lĩnh vựcđược nhiều người quan tâm là lĩnh vực giải trí Thị trường game đã chứng kiến

sự bùng nổ của các tựa game 2D Với sự phổ biến ngày càng tăng của các thiết

bị di động như điện thoại thông minh và máy tính bảng, game 2D đang trở thànhmột thể loại rất hot Để đáp ứng nhu cầu ngày một gia tăng về các tựa game 2D,nhóm chúng em đã lên ý tưởng và xây dựng ứng dựng trò chơi giải trí “Gameđua xe” dựa trên ngôn ngữ lập trình python

Trang 6

CHƯƠNG 1: TỔNG QUAN VỀ PYTHON

1.1.Giới thiệu ngôn ngữ lập trình python

Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứngdụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML) Các nhàphát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nềntảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất

cả các loại hệ thống và tăng tốc độ phát triển

 Lịch sử phát triển python

Guido Van Rossum, một lập trình viên máy tính ở Hà Lan, đã tạo raPython Ông bắt đầu phát triển ngôn ngữ này vào năm 1989 tại CentrumWiskunde & Informatica (CWI), ban đầu chỉ là một dự án tiêu khiển để giúpông giết thời gian trong dịp Giáng sinh Tên gọi của ngôn ngữ này được lấy cảmhứng từ chương trình truyền hình Monty Python's Flying Circus của đài BBC vìGuido Van Rossum là một “fan cứng” của chương trình này

Lịch sử các phiên bản Python

 Guido Van Rossum cho ra mắt phiên bản đầu tiên của ngôn ngữ Python(phiên bản 0.9.0) vào năm 1991 Ngôn ngữ này đã bao gồm các tính nănghữu ích như một số kiểu dữ liệu và hàm để xử lý lỗi

 Python 1.0 đã được ra mắt vào năm 1994 với các hàm mới để dễ dàng xử

lý danh sách dữ liệu, chẳng hạn như ánh xạ, lọc và lược bỏ

 Python 2.0 đã được ra mắt vào ngày 16 tháng 10 năm 2000, với các tínhnăng hữu ích mới cho lập trình viên, chẳng hạn như hỗ trợ ký tự Unicode

và cách xử lý chi tiết một danh sách nhanh chóng hơn

 Python 3.0 đã được ra mắt vào ngày 3 tháng 12 năm 2008 Phiên bản nàybao gồm các tính năng như hàm in và hỗ trợ nhiều hơn cho việc phân chia

số và xử lý lỗi

 Các tính năng của python

- Phân tích dữ liệu và học máy với mã Python

Với lượng dữ liệu ngày càng tăng mà chúng ta có ngày nay, điều quantrọng

là phải sử dụng nó trong quá trình ra quyết định Với công nghệ máy học vàphân

1

Trang 7

tích dữ liệu, chúng ta có thể đạt được mục đích này Bạn sẽ thích thú khi biếtrằng

ngôn ngữ lập trình Python là động lực đằng sau việc thu thập, tổ chức và thaotác

dữ liệu này

- Phát triển web và phát triển phần mềm

Ngôn ngữ Python cũng giúp phát triển web và phát triển phần mềm Nó hỗtrợ nhiều khung như Pyramid, Django và Flask Các khung này đã góp phần tạoracác trang web nổi tiếng như Spotify, Reddit và Mozilla Với quản lý nội dung,

ủy quyền và truy cập cơ sở dữ liệu, các phiên bản khác nhau của ngôn ngữ lậptrình Python là ngôn ngữ hàng đầu để phát triển web

- Tự động hóa hoặc viết kịch bản bằng mã Python

Tạo mã để hoàn thành các tác vụ tự động được gọi là viết kịch bản Bạn cóthể sử dụng Python cho mục đích này Việc sử dụng kịch bản thường được thựchiện trong các công việc lặp đi lặp lại Mã Python có thể giúp bạn tự động hóaquy trình Nó giúp tiết kiệm thời gian, tài nguyên và công sức thủ công

- Kiểm thử phần mềm và tạo nguyên mẫu

Theo dõi lỗi, kiểm soát tòa nhà, phát triển web, phát triển phần mềm vàkiểm

tra phần mềm là những khía cạnh quan trọng mà Python có thể xử lý Với mãPython để giải cứu bạn, thời gian cần thiết cho tất cả các hoạt động này có thểđược giảm xuống mức tối thiểu, do đó cho phép bạn tập trung vào những gì cầnthiết

 Đặc điểm của python

- Dễ học và sử dụng: Python được thiết kế để đơn giản và dễ hiểu, đặc biệt là

đối với những người mới bắt đầu với lập trình Cú pháp của Python rất đơngiản và dễ đọc, giúp cho việc phát triển ứng dụng nhanh chóng và hiệu quảhơn

- Đa nền tảng: Python có thể chạy trên nhiều nền tảng khác nhau, bao gồm

Windows, macOS và Linux Điều này giúp cho việc phát triển ứng dụng trởnên linh hoạt hơn

2

Trang 8

- Mã nguồn mở: Python là một ngôn ngữ mã nguồn mở, điều này cho phép lập

trình viên truy cập vào mã nguồn của Python và tùy chỉnh nó để phù hợp vớinhu cầu của riêng mình

- Hỗ trợ đa dạng: Python cung cấp cho người dùng một số lượng lớn các thư

viện và module tiện ích để giúp cho việc phát triển ứng dụng trở nên đơngiản và nhanh chóng hơn

- Hỗ trợ đa mô hình: Python hỗ trợ nhiều mô hình lập trình khác nhau, bao

gồm lập trình hướng đối tượng, lập trình hàm và lập trình thủ tục Điều nàygiúp cho lập trình viên có thể lựa chọn mô hình phù hợp với ứng dụng củamình

Với các đặc điểm trên, Python đã trở thành một trong những ngôn ngữ lậptrình phổ biến nhất trên thế giới, được sử dụng rộng rãi trong nhiều lĩnh vựckhác nhau như khoa học dữ liệu, phát triển web, trí tuệ nhân tạo, viễn thông,game, v.v

3

Trang 9

CHƯƠNG 2: MÔ TẢ BÀI TOÁN 2.1 Bài toán đua ô tô vượt chướng ngại vật

 Lập trình phần mềm trò chơi đua ô tô với các yêu cầu:

- Sử dụng kỹ thuật lập trình hướng đối tượng

- Có các xe đối thủ cạnh tranh trên đường đua

- Có chướng ngại vật

- Khi người chơi đạt tới điểm số quy định sẽ tự động nâng mức khó của trò

chơi

- Cho phép người chơi ghi lại số điểm đạt được

 Mô tả bài toán

Game đua xe ô tô trên máy tính cũng cần phải có:

- Khởi tạo trò chơi: là một Frame cho phép người chơi biết một số thông tin

cần thiết, cách thức điều khiển trò chơi

- Người điểu khiển xe đua: người chơi sử dụng máy tính để điều khiển xe

- Đường đua: nơi các xe tham gia đua Trên đường đua gồm có xe của

người chơi, các chướng ngại vật mà những người tham gia đua xe cầnphải vượt qua

- Vỉa hè: là những rào cản bên ngoài, nó có nhiệm vụ giưới hạn các xe chỉ

được phép đi trên vị trí lòng đường đã quy định, không được phép vượt rangoài phạm vi này

- Chướng ngại vật: một điều không thể thiếu khi nói đến trò chơi đua xe ô

tô Ngoài xe của người chơi còn có xe của những đối thủ cùng tham giatrò chơi, các chướng ngại vật trên đường, nếu những xe tham gia giaothông gặp nhau sẽ gây ra va chạm và xe của người chơi không thể đithẳng tiếp

4

Trang 10

- Mức độ khó của trò chơi: với bài toán này, do có yêu cầu tự động nâng

mức độ khó của trò chơi nên bối cảnh của đường đua xe thay đổi tuỳ theocác mức độ khó của trò chơi

2.2 Thư viện pygame

Thư viện Pygame là một bộ công cụ mã nguồn mở cho phép lập trình viêntạo ra các ứng dụng trò chơi và đa phương tiện cho các nền tảng máy tính khácnhau, bao gồm Windows, macOS và Linux Pygame được phát triển bằng ngônngữ lập trình Python, và được xây dựng trên thư viện SDL (Simple DirectMediaLayer), một thư viện đa nền tảng hỗ trợ đa phương tiện

Pygame cung cấp các chức năng cơ bản cho phép lập trình viên tạo ra cácđối tượng đồ họa, âm thanh và điều khiển hoạt động của chúng Điều này chophép lập trình viên tạo ra các trò chơi và ứng dụng trực quan, động đa chiều, và

có khả năng tương tác với người sử dụng

Một số tính năng của thư viện Pygame bao gồm:

- Hỗ trợ đa nền tảng: Pygame hỗ trợ các nền tảng máy tính đa dạng, bao

gồm Windows, macOS và Linux

- Đồ họa và âm thanh: Pygame cho phép lập trình viên tạo ra các đối tượng

đồ họa như hình ảnh, văn bản, và các hiệu ứng đặc biệt Ngoài ra, Pygamecòn cung cấp các chức năng để tạo ra các hiệu ứng âm thanh và lấy âmthanh từ người dùng

- Điều khiển và tương tác: Pygame cho phép lập trình viên điều khiển hoạt

động của các đối tượng đồ họa, và tương tác với người dùng thông quabàn phím, chuột và màn hình cảm ứng

Sử dụng thư viện Pygame, lập trình viên có thể tạo ra các trò chơi và ứngdụng đa phương tiện phong phú, với những tính năng độc đáo và tương tác caovới người dùng

2.3 Ngôn ngữ sử dụng

Python là một ngôn ngữ lập trình thông dịch, đa mục đích và mã nguồn

mở được phát triển bởi Guido van Rossum vào năm 1989 Python là một trongnhững ngôn ngữ lập trình phổ biến nhất trên thế giới, được sử dụng cho nhiềumục đích khác nhau, từ phát triển web đến khoa học dữ liệu và trí tuệ nhân tạo.Các đặc điểm của Python bao gồm:

- Dễ học và sử dụng: Python được thiết kế để đơn giản và dễ hiểu, đặc biệt

là đối với những người mới bắt đầu với lập trình Cú pháp của Python rất

5

Trang 11

đơn giản và dễ đọc, giúp cho việc phát triển ứng dụng nhanh chóng vàhiệu quả hơn.

- Đa nền tảng: Python có thể chạy trên nhiều nền tảng khác nhau, bao gồm

Windows, macOS và Linux Điều này giúp cho việc phát triển ứng dụngtrở nên linh hoạt hơn

- Mã nguồn mở: Python là một ngôn ngữ mã nguồn mở, điều này cho phép

lập trình viên truy cập vào mã nguồn của Python và tùy chỉnh nó để phùhợp với nhu cầu của riêng mình

- Hỗ trợ đa dạng: Python cung cấp cho người dùng một số lượng lớn các

thư viện và module tiện ích để giúp cho việc phát triển ứng dụng trở nênđơn giản và nhanh chóng hơn

- Hỗ trợ đa mô hình: Python hỗ trợ nhiều mô hình lập trình khác nhau, bao

gồm lập trình hướng đối tượng, lập trình hàm và lập trình thủ tục Điềunày giúp cho lập trình viên có thể lựa chọn mô hình phù hợp với ứng dụngcủa mình

Với các đặc điểm trên, Python đã trở thành một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới, được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như khoa học dữ liệu, phát triển web, trí tuệ nhân tạo, viễn thông, game, v.v

* Cài đặt Python:

Cài đặt bộ thư viện: pip install pygame

Cài đặt ngôn ngữ lập trình Python: Python 3.10

(https://www.python.org/downloads/windows/)

Môi trường lập trình Python: Python

(https://www.python.com/)

6

Trang 12

CHƯƠNG 3: CÀI ĐẶT 3.1 Giao diện ban đầu

7

Trang 13

Hình 3 1 Giao diện ban đầu

 Code set kích thước cửa sổ game

 Xét các kích thước, vị trí cho đường chính, đường biên và các vạch kẻtrên đường

 Vẽ nền cỏ, đường đua, đường biên và các vạch kẻ trên đường, đồng thờitạo chuyển động cho vạch kẻ trên đường dọc theo trục Oy

8

Trang 15

3.2 Thêm các phương tiện giao thông

Hình 3 2 Giao diện game khi có phương tiện giao thông

10

Trang 16

 Lớp đối tượng phương tiện

 Lớp đối tượng phương tiện người chơi

 Tạo nhóm xe

 Vẽ phương tiện xe người chơi và xe lưu thông

11

Trang 17

 Cho xe lưu thông di chuyển

 Điều khiển xe người chơi

12

Trang 18

 Kiểm tra va chạm khi xe người chơi di chuyển

 Kiểm tra va chạm khi xe người chơi đứng yên

 Hiển thị điểm số

13

Trang 19

3.3 Giao diện kết thúc

Hình 3 3 Giao diện kết thúc

14

Trang 20

 Hiển thị khung thông báo trò chơi kết thúc cùng tùy chọn chơi lại hay không

 Xử lý các tùy chọn của người chơi khi game kết thúc

15

Trang 21

- Có thể thiết kế một game 2D đơn giản.

Xong do kỹ năng lập trình còn kém nên giao diện chưa thực sự thân thiệnvới người dùng và chỉ đáp ứng được một số yêu cầu của bài toán Trong thờigian tới em sẽ tiếp tục hoàn thiện các chức năng và bổ sung các chức năng mới

để mang lại sự tiện dụng cho người sử dụng Trong tương lai em sẽ hoàn thiện

đề tài và cố gắng đáp ứng đầy đủ nhất các yêu cầu hệ thống thực đòi hỏi

Vì vậy kính mong quý thầy cô có thể chỉ bảo để em có thể hoàn thành đềtài này tốt hơn

Em xin chân thành cảm ơn!

16

Trang 22

TÀI LIỆU THAM KHẢO

17

Ngày đăng: 23/01/2025, 12:23