TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN
-----o0o-----
BÁO CÁO THỰC TẬP DOANH NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
Tên đề tài: Tìm hiểu về Python xây dựng một game Đua xe cơ bản
CÁN BỘ HƯỚNG DẪN: Vũ Anh Đức
GIẢNG VIÊN HƯỚNG DẪN: Lê Trung Kiên
SINH VIÊN: Nguyễn Duy Tú
MÃ SINH VIÊN: 70DCHT23004
LỚP: 70DCHT22
HÀ NỘI 7-2023
MỤC LỤC
LỜI CẢM ƠN.............................................................................................................................2
CHƯƠNG 1. GIỚI THIỆU CHUNG..........................................................................................2
1.1. Giới thiệu công ty............................................................................................................3
1.1.1. Tổng quan về công ty................................................................................................3
1.1.2 Lịch sử phát triển.......................................................................................................5
1.1.3 Tầm nhìn sứ mệnh.....................................................................................................6
1.1.4 Mơ hình tở chức.........................................................................................................6
1.1.5 Năng lực đội ngũ nhân sự..........................................................................................7
1.1.6. Lĩnh vực kinh doanh.................................................................................................7
1.1.7. Cơ cấu tổ chức..........................................................................................................7
1.2. Giới thiệu công việc.........................................................................................................7
1.2.1. Khái niệm công việc.................................................................................................8
1.2.2. Kỹ năng công việc....................................................................................................8
1.2.3. Mục tiêu thực tập......................................................................................................8
1.2.4. Nội dung công việc...................................................................................................8
1.2.5. Giới thiệu đề tài.........................................................................................................8
CHƯƠNG 2. GIỚI THIỆU VỀ PYTHON...............................................................................10
2.1. Khái niệm.......................................................................................................................10
2.2. Lịch sử...........................................................................................................................11
2.3. Đặc điểm........................................................................................................................13
2.4. Ứng dụng.......................................................................................................................14
2.5. Mơi trường phát triển.....................................................................................................15
2.6. Sự phở biến....................................................................................................................16
CHƯƠNG 3. NỢI DUNG THỰC HIỆN..................................................................................17
3.1. Nội dung đề tài...............................................................................................................17
3.2. Thiết kế..........................................................................................................................17
3.2.1. Mục tiêu của trò chơi:.............................................................................................17
3.2.2. Giao diện người dùng:............................................................................................18
3.2.3. Điều khiển:..............................................................................................................18
3.2.4. Thành phần chính của trị chơi:...............................................................................18
3.2.5. Cơ chế hoạt động của trị chơi:...............................................................................18
3.3. Các bước lập trình chi tiết cho game Đua xe.................................................................18
3.4. Kết quả game.................................................................................................................21
CHƯƠNG 4. TỔNG KẾT........................................................................................................23
4.1. Kết quả đạt được............................................................................................................24
4.2. Kỹ năng mềm học được.................................................................................................24
4.3. Hạn chế..........................................................................................................................24
4.4. Hướng phát triển............................................................................................................24
Tài liệu tham khảo....................................................................................................................25
LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn Công ty Cổ phần Giải pháp Sao Mai đã tiếp
nhận em thực tập tại công ty, hướng dẫn và tạo mọi điều kiện thuận lợi nhất cho chúng
em thực tập tại công ty.
Em xin chân thành cảm ơn anh Vũ Anh Đức đã hướng dẫn tận tâm và chỉ bảo tận
tình trong suốt thời gian em thực tập tại công ty, mặc dù công việc rất nhiều nhưng đã
giành thời gian để hướng dẫn, chỉ ra những lỗi sai, giúp em mở rộng thêm kiến thức và
thực hiện được đề tài một cách tốt nhất.
Em cũng xin gửi lời cảm ơn đến giảng viên hướng dẫn, thầy Lê Trung Kiên đã
chỉ bảo góp ý kịp thời cho em hoàn thành kỳ thực tập tại công ty.
Nhận được sự giúp đỡ, chỉ bảo tận tình của thầy cơ và anh chị hướng dẫn, em đã
hoàn thành cơng việc của mình trong kỳ thực tập. Do chưa có kinh nghiệm và trình độ
chun mơn chưa tốt nên vẫn có những thiếu sót, kính mong q cơng ty và các thầy
cơ góp ý để em có thể hoàn thiện tốt hơn
Em xin chân thành cảm ơn!
CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1. Giới thiệu công ty
1.1.1. Tổng quan về công ty
Công ty cổ phần Tập đoàn Giải pháp Sao Mai được thành lập vào tháng
02/2002 là Công ty chuyên nghiệp trong lĩnh vực cung cấp dịch vụ công nghệ
thông tin, tư vấn hạ tầng kỹ thuật, công nghiệp và quy hoạch giao thông, cung
cấp các giải pháp công nghệ thông tin như: viễn thông, quản lý doanh nghiệp,
ERP, CRM, hệ thông tin địa lý GIS, các hệ thống bán lẻ, quản trị doanh nghiệp
và các giải pháp về hành chính cơng, cung cấp hệ thống giải pháp phần mềm
quản lý tập trung như: phần mềm quản lý tài sản đường bộ, phần mềm quản lý
thông tin quy hoạch xây dựng, phần mềm quản lý thông tin tuyển quân, dân
quân tự vệ, phần mềm quản lý hệ thống giao thông thông minh...
Đồng thời, SAOMAI cũng là một trong những đơn vị uy tín trong lĩnh vực
FA tự động hóa các nhà máy (Factory Automation), chế tạo máy, tích hợp hệ
thống, gia cơng cơ khí, tủ điều kiển và cung cấp các giải pháp phần mềm quản lý
sản xuất, đọc và quản lý mã vạch, quản lý chi phí nội bộ, xử lý hình ảnh/
Video...
Trong suốt 20 năm hoạt động, SAOMAI luôn khao khát khám phá giới hạn
của bản thân với định hướng trở thành Tập đoàn công nghệ, phát triển bền vững
trên cơ sở kết hợp sức mạnh trí thức, tính đoàn kết tập thể và cơng nghệ ở tầm
cao mới .
Đến nay, SAOMAI đã quy tụ được đội ngũ đông đảo các chuyên gia kỹ
thuật, chuyên gia tư vấn có trình độ chun mơn cao có nhiều năm kinh nghiệm
trong các lĩnh vực CNTT khác nhau và đã từng trực tiếp tham gia thiết kế, triển
khai vận hành hệ thống CNTT lớn, hệ thống phần mềm chuyên ngành cho nhiều
khách hàng là các cơ quan Chính phủ như các Sở - Ban - ngành, Bộ công an,
Ngân hàng, Tập đoàn, Công ty và các Doanh nghiệp trong nước và nước ngoài
( Nhật Bản, Mỹ,..)
Tên Cơng ty: CƠNG TY CỞ PHẦN TẬP ĐỒN GIẢI PHÁP SAO MAI
Trụ sở chính: Tầng 4, Lucky Building, số 81 Trần Thái Tơng, Cầu Giấy,
HN Văn phòng giao dịch: Tầng 4 Lucky Building, số 81 Trần Thái Tông, Cầu
Giấy,HN
MST: 0103143169, cấp ngày 25 tháng 12 năm 2008 Do Sở kế hoạch và
đầu tư thành phố Hà Nội cấp
Điện thoại: 84 (024) 37690441
Website: />
1
Được thành lập từ năm 2002, là một trong những doanh nghiệp tiên phong
trong lĩnh vực xuất khẩu phần mềm sang thị trường Nhật bản và Mỹ, cung cấp
thiết bị, thi cơng tích hợp hệ thống an ninh, an toàn giám sát, trở thành đối tác
chiến lược của các thương hiệu: Dell Corporation, IBM Corporation, HPCompaq Corporation, Cisco,...Sao Mai đã khẳng định được thương hiệu với thị
trường nước ngoài, bên cạnh đó từng bước phát triển một cách bền vững để trở
thành tập đoàn SAOMAI CORPORATION chuyên cung cấp những giải pháp và
dịch vụ trong lĩnh vực Công nghệ thông tin và Công nghệ cao.
Đặt khách hàng làm trọng tậm để định hướng cho mọi hoạt động, SAOMAI
luôn nỗ lực khơng ngừng để đem lại sự hài lịng cho khách hàng, luôn lắng
nghe, tôn trọng và hiểu rõ mong muốn, nhu cầu của khách hàng. Trên cơ sở đó,
chúng tơi cam kết mang tới Khách hàng những sản phẩm chất lượng, giải pháp
phần mềm, giải pháp ứng dụng công nghệ thơng tin trong lĩnh vự tích hợp hệ
thống và cơng tác quản lý điều hành hoạt động sản xuất kinh doanh tối ưu và
hiệu quả nhất.
Kinh nghiệm tích lũy trong hơn 10 năm triển khai các giải pháp quản trị
doanh nghiệp được chuyển giao từ các đội ngũ chuyên gia đến từ Nhật bản, Mỹ
như: Fujisu, NTT, Nec, Nse, SAP, Dyve,... cùng với đội ngũ tư vấn, chuyên gia
2
kỹ thuật cao cấp, SAOMAI đảm bảo mang lại cho Quý Khách hàng lợi ích tối đa
từ các sản phẩm, dịch vụ chất lượng của Công ty.
Trong bối cảnh hội nhập, SAOMAI đang liên tục phát triển và mở rộng quy
mô kinh doanh. Chúng tôi đặc biệt coi trọng yếu tố nhân sự, khuyến khích và tạo
điều kiện để đội ngũ chuyên gia trau dồi kiến thức, kỹ năng nhằm hướng tới mục
tiêu bền vững là cung cấp tới khách hàng những sản phẩm, dịch vụ với chất
lượng tốt nhất.
1.1.2. Lịch sử phát triển
Được thành lập năm 2002, là một trong những doanh nghiệp tiên phong
trong lĩnh vực xuất khẩu phần mềm sang thị trường Nhật Bản và Mỹ, SAOMAI
đã và đang triển khai các phần mềm quản lý, phần mềm ứng dụng và các
website database cho nhiều cơ quan, tổ chức và các tổng công ty lớn ở thị trường
trong nước. Qua chất lượng và dịch vụ các sản phẩm của mình, SAOMAI đã và
đang khẳng định được vị trí của mình đối với thị trường trong và ngoài nước.
Bên cạnh đó, chúng tơi cũng đang từng bước phát triển một cách bền vững để
trở thành Tập đoàn SAOMAI chuyên cung cấp những giải pháp và dịch vụ trong
lĩnh vực Công nghệ thông tin và Công nghệ cao. Năm 2003: Hợp tác liên kết với
Tập đoàn JSS Nhật Bản (Nihon Software Service) sau đó thành lập liên doanh
JSSI, liên minh với các nhà máy cơ khí Việt Nam để nâng cao năng lực sản
x́t, tính cạnh tranh của Cơng nghiệp Việt Nam, khai thác thị trường Nhật Bản.
Năm
2002
2009
Sự kiện
Thành lập Công ty phần mềm SAOMAI.
Thành lập Công ty liên doanh với đối tác Đan
2013
Mạch. SAVAI GROUP (www.savaigroup.com).
Tham gia Câu lạc bộ Hợp tác CNTT Việt Nam -
4/2023
Nhật Bản (VJC).
Được Hiệp hội phần mềm và dịch vụ CNTT Việt
Nam (VINASA) trao tặng giải thưởng Sao Khuê dành
cho Phần mềm quản lý hợp đồng chuyên dụng dành cho
05/2013
ngân hàng và các định chế tài chính.
Được Tở chức Quốc tế Business Initiative
Directions (B.I.D) công bố SAOMAISOFT nhận giải
thưởng
10/01/2014
quốc
tế
INTERNATIONAL
QUALITY
SUMMIT AWARD – xếp hạng vàng.
Hiệp hội doanh nghiệp nhỏ và vừa Việt Nam chứng
nhận Công ty cổ phần phần mềm Sao Mai được tặng
3
danh hiệu “THƯƠNG HIỆU SẢN PHẨM, DỊCH VỤ
04/2014
VIỆT NAM PHÁT TRIỂN BỀN VỮNG”.
Được Hiệp hội phần mềm và dịch vụ CNTT Việt
Nam (VINASA) trao tặng giải thưởng Sao Khuê dành
cho Giải pháp quản lý thông tin và điều hành doanh
nghiệp – SEI (Solution for Executive Internal), xếp hạng
4 sao trong lĩnh vực: Các sản phẩm, giải pháp phần mềm
mới 2013-2014 của Việt Nam
1.1.3. Tầm nhìn sứ mệnh
Tầm nhìn : Trở thành một Tập đoàn công nghệ với hệ sinh thái mở
rộng, hướng tới hợp tác cộng sinh cùng phát triển, toàn diện với các đối tác
Sứ mệnh : Đồng hành cùng mục tiêu Cơng nghiệp hóa- Hiện đại
hóa của Việt Nam
1.1.4. Mơ hình tở chức
Cơng ty Cở phần Phần mềm Sao Mai – là một doanh nghiệp với
gần 20 năm hoạt động trong lĩnh vực CNTT tại thị trường Việt Nam, Nhật
Bản và Mỹ. Công ty chuyên cung cấp các giải pháp cơng nghệ cao như: Tự
động hóa, Computer Vision, Gia công phần mềm, Cho thuê nhân sự công
nghệ cao…
Công ty Cổ phần Công Nghệ Cao Sao Mai – chuyên nghiên cứu,
phát triển và khai thác các giải pháp công nghệ trong lĩnh vực Camera
(camera AI) và An ninh, An Toàn
Công ty Công Nghệ Kết Nối Toàn Cầu – chuyên cung cấp và triển
khai các giải pháp về Marketing Tổng Thể: Online marketing, Xây dựng
thương hiệu, marketing Bán lẻ…
Cơng ty TNHH Tích Hợp Hệ Thống Việt Nhật – là một đơn vị hợp
tác liên danh với công ty JSS của Nhật Bản hoạt động tại thị trường Việt
Nam trong lĩnh vực xây dựng các Bản vẽ cơ khí 3D, các Bản vẽ 3D kết cấu
cơ khí, máy tự động…
Công ty JSS Nhật Bản – là doanh nghiệp chuyên cung cấp các giải
pháp về Tự Động Hóa và Cơng Nghệ Cao tại thị trường Nhật Bản.
Công ty SaoMai Engineering – là một doanh nghiệp chuyên xúc
tiến đẩy mạnh các hoạt Thương mại giữa hai thị trường Nhật Bản và Việt
Nam.
4
Công ty Cổ phần Nhật Ngữ Sao Mai – là một đơn vị chuyên về đào
tạo cung cấp dịch vụ đào tạo Tiếng Việt cho người Nhật và tiếng nhật cho kỹ
sư việt tại thị trường Việt Nam.
1.1.5. Năng lực đội ngũ nhân sự
Đợi ngũ nhân sự
SAOMAI hiện có 138 cán bộ cơng nhân viên có bằng Thạc sỹ, kỹ sư, cử
nhân làm việc tại văn phòng Hà Nội và Kyoto. Thành cơng của chúng tơi có
được là nhờ kinh nghiệm, sự chuyên nghiệp của đội ngũ cán bộ và chất lượng,
hiệu
quả
của
các
giải
pháp
chúng
tôi
cung
cấp.
Đội ngũ cán bộ quản lý tư vấn nghiệp vụ và kỹ tḥt đơng đảo, có kiến thức do
Microsoft, Oracle, SAP đào tạo, được tu nghiệp hàng năm tại Nhật bản và kinh
nghiệm từ nhiều dự án thực tế. Đội ngũ chuyên gia của SAOMAI cũng đã được
đào tạo về các phương pháp phát triển, triển khai và có đủ kỹ năng về những
cơng nghệ tiên tiến mới nhất của ORACLE, SAP, IBM, Microsoft...
Với đội ngũ tâm huyết, năng động và có nhiều kinh nghiệm như hiện nay,
SAOMAI có khả năng triển khai nhiều dự án cùng lúc cho các khách hàng của
mình. Cùng với những kinh nghiệm đã triển khai các dự án cực kỳ phức tạp,
SAOMAI cam kết song hành với sự phát triển của khách hàng
1.1.6. Lĩnh vực kinh doanh
Lĩnh vực hoạt động chính
Tư vấn, phát triển phần mềm
Camera AI và các giải pháp an ninh
Tự động hóa và chế tạo máy, tạo dữ liệu 3D
IT Outsourcing
Phát triển giải pháp xử lý hình ảnh
1.1.7. Cơ cấu tở chức
5
1.2. Giới thiệu công việc
1.2.1. Khái niệm công việc
Công ty thực tập: Công ty cổ phần tập đoàn giải pháp Sao Mai
Người hướng dẫn: Vũ Anh Đức
Thời gian thực tập: Từ ngày 1 tháng 5 năm 2023 đến ngày 30 tháng
7 năm 2023
Vị trí: Thực tập sinh
Thời gian làm việc: Từ 13h30 – 17h30
1.2.2. Kỹ năng công việc
Kỹ năng giao tiếp
Kỹ năng giao tiếp là một trong những kỹ năng mềm cực kỳ quan trọng
trong thế kỷ 21. Đó là một tập hợp những quy tắc, nghệ thuật, cách ứng xử, đối
đáp được đúc rút qua kinh nghiệm thực tế hằng ngày giúp mọi người giao tiếp
hiệu quả thuyết phục hơn khi áp dụng thuần thục kỹ năng giao tiếp.
Kỹ năng làm việc nhóm
Kỹ năng làm việc độc lập
Kỹ năng sử dụng máy tính
1.2.3. Mục tiêu thực tập
Tìm hiểu nội quy, cách thức hoạt động của các doanh nghiệp, các
công ty và lĩnh vực mà công ty hướng dẫn
Nâng cao khả năng lập trình của bản thân
6
Trải nghiệm môi trường làm việc ở công ty
Khám phá bản thân mình, biết được điểm mạnh của bản thân
1.2.4. Nội dung công việc
STT
Thời gian
Nội dung công việc
Tuần 1 đến 2
Tìm hiểu nội quy, quy chế hoạt động của cơng ty.
1
2
Tuần 3 đến
3
tuần 9
Tuần 10 đến
Tìm hiểu về Python
Thực hiên đề tài thực tập
tuần 11
1.2.5. Giới thiệu đề tài
- Tên đề tài: Tìm hiểu về Python xây dựng một game Đua xe cơ bản
- Loại đề tài: Nghiên cứu, phát triển.
- Lý do chọn đề tài
Trong thời đại công nghệ thông tin hiện nay, việc ứng dụng các nền tảng
game đã trở nên vô cùng phổ biến. Game được sử dụng cho nhiều mục đích
khác nhau, từ việc kiếm tiền, đến giáo dục và giải trí. Để có thể tạo ra một game
đẹp mắt,vui nhộn, thân thiện với người dùng và có đầy đủ chức năng, các nhà
phát triển cần phải có kiến thức về các cơng nghệ lập trình game.
Python là một trong những công nghệ web phổ biến nhất hiện nay. Nó là
một mã nguồn mở được tạo ra bởi Guido van Rossum cung cấp một cách tiếp
cận linh hoạt và hiệu quả để một game đơn giản.
Trong thời gian thực tập tại Công ty Cổ phần Tập đoàn Giải pháp Sao Mai,
em đã có cơ hội được học hỏi và thực hành về Python. Em đã được các anh chị
trong nhóm hướng dẫn cách thiết kế và xây dựng các ứng dụng game bằng
Python.
Qua quá trình học tập và thực hành, em đã có được những kiến thức và
kinh nghiệm quý báu về Python. Em tin rằng những kiến thức và kinh nghiệm
này sẽ giúp em có thể phát triển sự nghiệp của mình trong lĩnh vực công nghệ
thông tin.
7
Để có thể hiểu rõ hơn về Python, em quyết định chọn đề tài "Tìm hiểu về
Python xây dựng một game Đua xe cơ bản. " cho bài báo cáo thực tập của mình.
Trong bài báo cáo này, em sẽ giới thiệu về Python.
Em xin chân thành cảm ơn thầy giáo Lê Trung Kiên và các anh chị hướng
dẫn tại Công ty Cổ phần Tập đoàn Giải pháp Sao Mai đã giúp đỡ em trong quá
trình học tập và thực tập. Em cũng xin chân thành cảm ơn các thầy cô giáo trong
khoa Công nghệ thông tin đã tạo điều kiện cho em thực hiện bài báo cáo này.
CHƯƠNG 2. GIỚI THIỆU VỀ PYTHON
2.1. Khái niệm
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, do Guido van Rossum tạo ra 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
8
trình và là ngơn ngữ lập trình dễ học; được dùng rộng rãi trong phát triển trí tuệ
nhân tạo. 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. Vào tháng 7 năm 2018, van Rossum đã từ chức lãnh đạo
trong cộng đồng ngôn ngữ Python sau 30 năm làm việc.
Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động;
do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được
phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software
Foundation quản lý.
Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo
thời gian, Python dần mở rộng sang mọi hệ điều hành từ MS-DOS đến Mac OS,
OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát
triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van
Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ơng giữ vai trị chủ chốt
trong việc qút định hướng phát triển của Python.
Python luôn được xếp hạng vào những ngơn ngữ lập trình phở biến nhất.
2.2. Lịch sử
Python đã được Guido van Rossum thai nghén vào những năm 1980 tại
Trung tâm Toán học – Tin học (Centrum Wiskunde & Informatica, CWI) ở Hà
Lan như là một ngôn ngữ kế tục ngôn ngữ ABC – một ngôn ngữ được lấy cảm
hứng từ SETL, có khả năng xử lí ngoại lệ và giao tiếp với hệ điều hành Amoeba.
Nó bắt đầu được triển khai vào tháng 12 năm 1989. Van Rossum đã tự mình
gánh vác trách nhiệm cho dự án, với vai trị là nhà phát triển chính, cho đến
ngày 12 tháng 7 năm 2018, khi ông thông báo rằng ông sẽ rời bỏ trách nhiệm
của ông và cả danh hiệu "Nhà độc tài nhân từ cho cuộc sống" của Python, một
danh hiệu mà cộng đồng Python đã trao tặng cho ơng vì sự tận tụy lâu dài của
ơng với vai trị là người ra qút định chính cho dự án. Vào tháng 1 năm 2019,
9
các nhà phát triển phần lõi Python đã bầu ra một "Hội đồng chèo lái" gồm năm
thành viên để dẫn dắt dự án.
Python 2.0 được phát hành vào ngày 16 tháng 10 năm 2000, với nhiều tính
năng mới quan trọng như khả năng hiểu danh sách, thu gom rác theo chu trình,
đếm tham chiếu và hỗ trợ Unicode.
Python 3.0, được phát hành vào ngày 3 tháng 12 năm 2008, với nhiều tính
năng chính được đưa vào Python 2.6.x và 2.7.x. Các bản phát hành của Python 3
bao gồm tiện ích 2to3, giúp tự động dịch mã Python 2 sang Python 3.
Thời gian hết hạn sử dụng của Python 2.7 ban đầu được đặt vào năm 2015,
sau đó bị hỗn lại đến năm 2020 do lo ngại rằng một lượng lớn mã hiện có
khơng thể dễ dàng chuyển tiếp sang Python 3. Sẽ khơng có thêm bản vá bảo mật
hoặc cải tiến nào khác được phát hành cho nó. Hiện tại chỉ có phiên bản 3.7 trở
lên được hỗ trợ.
Vào năm 2022, Python 3.10.4 và 3.9.12 đã được phát hành nhanh và 3.8.13
và 3.7.13 do nhiều vấn đề về bảo mật. Khi Python 3.9.13 được phát hành vào
tháng 5 năm 2022, có thơng báo rằng dịng 3.9 (cùng với dịng 3.8 và 3.7 cũ
hơn) sẽ chỉ nhận được các bản sửa lỗi bảo mật trong tương lai. Vào ngày 7 tháng
9 năm 2022, bốn bản phát hành mới đã được thực hiện do một cuộc tấn công từ
chối dịch vụ tiềm ẩn: 3.10.7, 3.9.14, 3.8.14 và 3.7.14.
Kể từ tháng 11 năm 2022, Python 3.11 là bản phát hành ổn định. Những
thay đổi đáng chú ý từ 3.10 bao gồm tăng tốc độ thực thi chương trình và cải
thiện báo cáo lỗi.
2.3. Đặc điểm
10
Dễ học: Python có ít từ khóa, cấu trúc đơn giản và cú pháp được
định nghĩa rõ ràng. Điều này cho phép người mới học tiếp cận ngôn ngữ một
cách nhanh chóng.
Dễ đọc: Mã Python được định nghĩa rõ ràng hơn và có thể nhìn
thấy bằng mắt.
Dễ bảo trì: Mã nguồn của Python khá dễ bảo trì.
Một thư viện tiêu chuẩn rộng: Phần lớn thư viện của Python rất
dễ đính kèm và đa nền tảng tương thích trên UNIX, Windows và Macintosh.
Chế đợ tương tác: Python có hỗ trợ cho chế độ tương tác cho phép
kiểm tra tương tác và debug.
Portable: Python có thể chạy trên nhiều nền tảng phần cứng khác
nhau và có cùng giao diện trên tất cả các nền tảng.
Có thể mở rợng: Bạn có thể thêm các module cấp thấp vào trình
thơng dịch Python. Các module này cho phép các lập trình viên thêm hoặc
tùy chỉnh các cơng cụ của mình để hiệu quả hơn.
Cơ sở dữ liệu: Python cung cấp phương thức giao tiếp cho tất cả
các cơ sở dữ liệu.
Lập trình GUI: Python hỗ trợ các ứng dụng GUI có thể được tạo
và chuyển sang nhiều cuộc gọi hệ thống, thư viện và hệ thống cửa sổ, như
Windows MFC, Macintosh và hệ thống X Window của Unix.
Khả năng mở rộng: Python cung cấp cấu trúc và hỗ trợ tốt hơn
cho các chương trình lớn hơn so với kịch bản lệnh shell.
Ngoài các tính năng được đề cập ở trên, Python cịn có một danh sách lớn
các tính năng khác, một số tính năng được liệt kê bên dưới:
Nó hỗ trợ các phương pháp lập trình thủ t và có cấu trúc cũng như
OOP.
Nó có thể được sử dụng như một ngơn ngữ kịch bản hoặc có thể
được biên dịch thành mã byte để xây dựng các ứng dụng lớn.
Nó cung cấp các kiểu dữ liệu động ở mức rất cao và hỗ trợ kiểm tra
kiểu động.
Nó hỗ trợ thu gom rác tự động.
Nó có thể dễ dàng tích hợp với C, C++, COM, ActiveX, CORBA
và Java
2.4. Ứng dụng
Ngôn ngữ Python được sử dụng nhiều trong lĩnh vực phát triển ứng dụng,
bao gồm những ví dụ sau:
Phát triển web phía máy chủ
Phát triển web phía máy chủ bao gồm những hàm backend phức tạp
mà các trang web thực hiện để hiển thị thơng tin cho người dùng. Ví dụ: các
11
trang web phải tương tác với cơ sở dữ liệu, giao tiếp với các trang web khác
và bảo vệ dữ liệu khi truyền qua mạng.
Python hữu ích trong việc lập trình mã phía máy chủ bởi vì ngơn
ngữ này cung cấp nhiều thư viện bao gồm mã viết sẵn cho các hàm backend
phức tạp. Các nhà phát triển cũng sử dụng một loạt các khung Python cung
cấp tất cả những công cụ cần thiết để xây dựng ứng dụng web một cách
nhanh chóng và dễ dàng hơn. Ví dụ: các nhà phát triển có thể tạo ứng dụng
web khung trong nháy mắt bởi vì họ khơng cần phải lập trình nó từ đầu. Sau
đó, họ có thể kiểm tra ứng dụng web này bằng cách sử dụng các công cụ
kiểm thử của khung, mà không cần phụ thuộc vào những cơng cụ kiểm thử
bên ngoài.
Tự động hố bằng các tập lệnh
Ngôn ngữ tập lệnh là một ngôn ngữ lập trình tự động hóa các tác vụ mà
thường được con người thực hiện. Các lập trình viên thường xuyên sử dụng các
tập lệnh Python để tự động hóa nhiều tác vụ hàng ngày như:
Đổi tên một số lượng lớn tệp cùng lúc
Chuyển đổi một tệp sang một loại tệp khác
Loại bỏ các từ trùng lặp trong tệp văn bản
Thực hiện các phép tính tốn cơ bản
Gửi email
Tải xuống nội dung
Thực hiện phân tích nhật ký cơ bản
Tìm kiếm lỗi trong nhiều tệp
Khoa học dữ liệu và máy học
Khoa học dữ liệu trích x́t thơng tin q giá từ dữ liệu và Máy học
(ML) dạy máy tính tự động học hỏi từ dữ liệu và đưa ra các dự đốn chính xác.
Các nhà khoa học dữ liệu sử dụng Python cho các tác vụ khoa học dữ liệu sau:
Sửa và loại bỏ dữ liệu khơng chính xác, hay cịn được gọi là làm
sạch dữ liệu
Trích xuất và chọn lọc các đặc điểm đa dạng của dữ liệu
Ghi nhãn dán tên gán tên có ý nghĩa cho dữ liệu
Tìm các số liệu thống kê khác nhau từ dữ liệu
Trực quan hóa dữ liệu bằng cách sử dụng các biểu đồ và đồ thị,
chẳng hạn như biểu đồ đường, biểu đồ cột, biểu đồ tần suất và biểu đồ tròn
Các nhà khoa học dữ liệu sử dụng những thư viện ML của Python
để đào tạo các mô hình ML và xây dựng các cơng cụ phân loại giúp phân loại
dữ liệu một cách chính xác. Các chuyên gia từ nhiều lĩnh vực sử dụng những
công cụ phân loại dựa trên Python để thực hiện các tác vụ phân loại, chẳng
hạn như phân loại hình ảnh, văn bản cũng như lưu lượng truy cập mạng, nhận
12
dạng giọng nói và nhận diện khn mặt. Các nhà khoa học dữ liệu cũng sử
dụng Python cho deep learning, một kỹ thuật ML nâng cao.
Phát triển phần mềm
Các nhà phát triển phần mềm thường sử dụng Python cho những tác vụ
phát triển và ứng dụng phần mềm khác nhau, chẳng hạn như:
Theo dõi lỗi trong mã của phần mềm
Tự động xây dựng phần mềm
Đảm nhận quản lý dự án phần mềm
Phát triển nguyên mẫu phần mềm
Phát triển các ứng dụng máy tính bằng cách sử dụng những thư
viện Giao diện đồ họa người dùng (GUI)
Phát triển từ các trò chơi văn bản đơn giản cho đến những trò chơi
điện tử phức tạp
Tự động hoá kiểm thử phần mềm
Kiểm thử phần mềm là quy trình kiểm tra xem kết quả thực tế từ phần mềm
có khớp với kết quả mong đợi khơng để đảm bảo rằng phần mềm khơng có lỗi.
Các nhà phát triển sử dụng khung kiểm thử đơn vị Python, chẳng
hạn như Unittest, Robot và PyUnit, để kiểm thử các hàm do họ viết.
Các kỹ sư kiểm thử phần mềm sử dụng Python để viết các trường
hợp kiểm thử cho nhiều tình huống khác nhau. Ví dụ: họ sử dụng ngôn ngữ
này để kiểm thử giao diện người dùng của một ứng dụng web, nhiều thành
phần của phần mềm và những tính năng mới.
2.5. Mơi trường phát triển
Phần lớn trình hiện thực Python (kể cả CPython) có chứa một trình lặp
đọc–tính–in (REPL), cho phép chúng hoạt động như là một trình thơng dịch
dịng lệnh mà người dùng sẽ lần lượt nhập các câu lệnh và nhận kết quả ngay lập
tức.
Python đì kèm với một mơi trường phát triển tịch hợp (IDE) được gọi là
IDLE, phù hợp với người mới bắt đầu.
Các hệ vỏ khác, bao gồm IDLE và IPython, có thêm khả năng tự hoàn
thiện, khơi phục trạng thái phiên, và tô sáng cú pháp.
Ngoài các môi trường phát triển tích hợp trên máy để bàn, cịn có những
IDE chạy trên trình duyệt web: SageMath (dành cho việc phát triển các chương
trình Python liên quan đền tốn học và khoa học); PythonAnywhere, một IDE
kiêm môi trường chủ nhà; và Canopy IDE, một IDE Python thương mại tập
trung vào khoa học tính tốn.
2.6. Sự phở biến
13
Kể từ năm 2003, Python luôn được xếp vào một trong số mười ngơn ngữ
lập trình phở biến nhất trong Chỉ số Cộng đồng Lập trình TIOBE, nơi mà tính
đến tháng 10 năm 2021, Python là ngôn ngữ phổ biến nhất (đứng trước Java và
C). Nó từng được chọn là Ngơn ngữ Lập trình của Năm (vì "có đánh giá tăng
cao nhất trong năm") vào các năm 2007, 2010, 2018, và 2020 (chỉ Python là
được bốn năm.
Một nghiên cứu thức nghiệm chỉ ra rằng các ngôn ngữ kịch bản, chẳng hạn
như Python, cho năng suất cao hơn so với các ngôn ngữ thông thường, chẳng
hạn như C và Java, đối với các vấn đề lập trình liên quan đến thao tác xâu và tìm
kiếm trong từ điển, đồng thời quả quyết rằng sự tiêu tốn bộ nhớ thường "tốt hơn
Java và không quá tệ hơn so với C hay C++".
Các tở chức lớn sử dụng Python gồm có Wikipedia, Google, Yahoo!,
CERN, NASA, Facebook, Amazon, Instagram, Spotify và các tổ chức nhỏ hơn
như ILM and ITA. Trang mạng tin tức xã hội Reddit cũng được viết phần lớn
bằng Python.
14
CHƯƠNG 3. NỢI DUNG THỰC HIỆN
3.1. Nội dung đề tài
Tìm hiểu về Python xây dựng một game Đua xe cơ bản
3.2. Thiết kế
3.2.1. Mục tiêu của trò chơi:
Trò chơi đua xe sẽ giúp người chơi tham gia vào cuộc đua giữa xe
của họ và các xe lưu thông trên đường.
Mục tiêu của trò chơi là giữ cho xe của người chơi di chuyển trên
đường càng lâu càng tốt để ghi điểm.
3.2.2. Giao diện người dùng:
Trị chơi có một cửa sổ đồ họa hiển thị đường đua và các xe lưu
thông.
Xe của người chơi được hiển thị ở vị trí trung tâm dưới cùng của
màn hình.
Điểm số được hiển thị trên màn hình.
3.2.3. Điều khiển:
Người chơi sử dụng các phím mũi tên trái/phải để di chuyển xe trên
đường.
Khi nhấn phím mũi tên trái, xe di chuyển sang trái.
Khi nhấn phím mũi tên phải, xe di chuyển sang phải.
3.2.4. Thành phần chính của trị chơi:
Xe người chơi: Đây là xe mà người chơi điều khiển. Xe này di
chuyển trên đường và cố gắng tránh va chạm với các xe lưu thông khác.
Xe lưu thông: Đây là các xe xuất hiện ngẫu nhiên trên đường và di
chuyển xuống dưới theo chiều dọc. Người chơi cần tránh va chạm với các xe
này để duy trì sự sống và ghi điểm.
Đường đua: Đường đua được hiển thị dưới dạng một đoạn đường
mà các xe di chuyển trên đó.
Điểm số: Điểm số của người chơi được tính dựa trên thời gian mà
xe của họ duy trì trên đường mà khơng va chạm với các xe lưu thơng.
3.2.5. Cơ chế hoạt động của trị chơi:
Khi trò chơi bắt đầu, xe của người chơi được đặt ở vị trí giữa dưới
cùng của màn hình.
15
Các xe lưu thông xuất hiện ngẫu nhiên ở các làn đường trên đường
đua và di chuyển xuống dưới theo chiều dọc.
Người chơi sử dụng các phím mũi tên trái/phải để điều khiển xe và
tránh va chạm với các xe lưu thông.
Điểm số tăng dần dựa trên thời gian mà xe của người chơi duy trì
trên đường mà không va chạm.
Nếu xe của người chơi va chạm với bất kỳ xe lưu thơng nào trị
chơi kết thúc và hiển thị màn hình game over
3.3. Các bước lập trình chi tiết cho game Đua xe
Tạo thự mục và file cho game
File là file code chính. Cịn file images là file chứa hình ảnh
Tạo thư viện và cửa sổ game
16
Tạo phong cảnh trong game
Khởi tạo đối tượng xe công cộng và xe player
17