Top doanh nghiệp đã đăng ký cho nhân viên
Khóa học này dành cho?
Bạn sẽ học được gì?
Khoá học này sẽ có:
Video
4h 15m giờ học
Article
0 bài viết chuyên môn
Material
1 tài liệu đính kèm
Exam questions
0 đề thi ghi nhớ kiến thức
Nội dung khoá học
3 Chương . 22 bài giảng . 4h 15m giờ học
Mở rộng tất cả các phần
Mô tả khoá học
- Cách cài đặt python và pygame. Python ở đây sẽ sử dụng gói phần mềm Anaconda. Anaconda là nền tảng mã nguồn mở về Khoa học dữ liệu trên Python thông dụng nhất hiện nay. Khi cài đặt Anaconda, bạn sẽ được cài mặc định Spyder. Đây là 1 trong những IDE (môi trường tích hợp dùng để phát triển phần mềm) rất tốt cho data science.
- Cơ bản về ngôn ngữ lập trình python. Bao gồm: variable, collection, control flow, function và class. Chúng ta sẽ thảo luận về các biến và các phép toán. Collection là các kiểu dữ liệu như mảng, tuple, dictionary, … Sau đó, control flow là các câu lệnh rẽ nhánh và các vòng lặp. Sau cùng đó là những chủ đề về hàm, các lớp và đối tượng. Đó cũng là chủ đề chính trong việc lập trình game, giúp game tạo ra trở nên hướng đối tượng.
- Trong khóa học, bạn không học những lý thuyết suông mà ứng dụng ngay những gì đã học để tự mình lập trình một game đơn giản (game kiểu băng qua đường) từ số không. Bạn sẽ học được làm thế nào để thiết lập màn hình game, làm thế nào để đưa các đối tượng lên màn hình, làm thế nào để thực hiện một vòng lặp game. Đồng thời cũng học cách điều khiển việc di chuyển các đối tượng và kiểm tra sự va chạm của các đối tượng trong game.
- Cuối cùng, thông qua khóa học, bạn sẽ hoàn thành được một game. Thông qua dự án cụ thể như vậy, bạn sẽ nắm vững hơn về ngôn ngữ lập trình python, vững hơn về cách sử dụng các biến, hàm, các cú pháp, các câu lệnh và thậm chí là các khái niệm và cách lập trình hướng đối tượng trong python.
Giảng viên:
4.5 điểm đánh giá
6 đánh giá
773 học viên
10 khóa học
Xin chào, Tôi là Trọng Nghĩa. Tôi thích viết code và cũng thích giúp mọi người viết được code. Tôi đã có hơn 10 năm kinh nghiệm lập trình và giảng dạy. Hiện đang giảng dạy tại bộ môn Khoa học dữ liệu và Trí tuệ nhân tạo.
Tôi có thể hỗ trợ các bạn về các vấn đề liên quan đến AI, Data Science và Full-stack Web developer, với các ngôn ngữ lập trình như python, JavaScript, PHP, C#, java, cùng với các thư viện để thực hiện công việc như Flask, Django, React, Nodejs, …
Hy vọng được kết nối với các bạn ❤️❤️❤️
Học viên cũng mua
Hỏi đáp khóa học
Thảo luận về bài học
20 thảo luận
Nhan Thị Kim Ngọc
Chào Thầy
Thầy cho hỏi bài của e bị sai chổ nào mà NV người chơi ko có chạy lên chạy xuống, còn khi click vào màn hình lên xuống thì chương trình bị treo lun
còn Quan_Thu_0 thì vẫn chạy bt ạ
Nhờ Thầy kiểm tra hướng dẫn giúp.
Cảm ơn,
Nhan Thị Kim Ngọc
# -*- coding: utf-8 -*-
"""
Created on Wed Feb 11 11:00:58 2026
@author: Ngoc.NhanThiKim
"""
"""
#------------------------------------
Pygame 5
Cài đặt các lớp của game
Cài đặt lớp đối tượng chung cho game
#------------------------------------
#------------------------------------
# Phần 7:
Cài đặt các lớp của game
CÀi dặt lớp Quân Thủ và kiểm tra biên
#------------------------------------
"""
import pygame #thư viện chứa các hàm, lớp
#------------------------------------
#1. Thiết lập màn hình game
#------------------------------------
#KO NÊN CHỌN QUÁ 1000 VÌ ĐỘ PHÂN GIẢI MÀN HÌNH
# ĐỘ PHÂN GIẢI MÀN HÌNH
CHIEU_RONG_MAN_HINH = 600
CHIEU_CAO_MAN_HINH = 600
#MÀN SẮC CỦA MÀN HÌNH:
MAU_TRANG = (255,255,255)
MAU_DEN = (0,0,0)
TIEU_DE_MAN_HINH = 'Crossy Game '
#thiết lập biến đồng hồ
dong_ho = pygame.time.Clock()
#Định nghĩa lớp Trò chơi
class TroChoi:
toc_do_bam_gio = 60 #tuong duongongw FPS = 60
#biến kiểm tra thoát khỏi game
game_over = False
def __init__(self,tieu_de, chieu_rong, chieu_cao):
self.tieu_de = tieu_de
self.chieu_rong = chieu_rong
self.chieu_cao = chieu_cao
self.man_hinh_game = pygame.display.set_mode((chieu_rong,chieu_cao))
self.man_hinh_game.fill(MAU_TRANG) # Tô màn hình game = màu trắng
pygame.display.set_caption(tieu_de)
def chay_vong_lap_game(self):
game_over = False
chieu = 0
#Tạo nhân vật ng chơi:
nhan_vat_nguoi_choi = NhanVatNguoiChoi('Hinh_it_1.jpg', 300, 500, 50, 50)
quan_thu_0 = QuanThu('Hinh_Canh.jpg',20, 300, 50, 50)
#vòng lặp game
while not game_over:
#Lây tất cả sự kiện
for su_kien in pygame.event.get():
#Nếu sự kiệm phát sinh là thoát
if su_kien.type == pygame.QUIT:
game_over=True
# kiểm tra mũi tên lên (âm), mũi tên xuống (duong)
elif su_kien.type ==pygame.KEYDOWN:
if su_kien.key == pygame.K_Up:
chieu = 1
elif su_kien.key == pygame.K_DOWN:
chieu = -1
elif su_kien.type == pygame.KEYUP:
if su_kien.key == pygame.K_UP or su_kien.key == pygame.K_DOWN:
chieu = 0 #nv ko di chuyển
#In ra sự kiện
print('Sự kiện : ', su_kien)
#di chuyển
nhan_vat_nguoi_choi.di_chuyen(chieu,self.chieu_cao)
quan_thu_0.di_chuyen(self.chieu_rong)
#tô màu màn hình
self.man_hinh_game.fill(MAU_TRANG)
#vẽ
nhan_vat_nguoi_choi.ve(self.man_hinh_game)
quan_thu_0.ve(self.man_hinh_game)
#Kết xuất hình ảnh ra màn hình
# Cập nhật, thực hiện kết xuất hình ảnh
pygame.display.update()
# bám giờ đê qua vòng lặp kế tiêp
dong_ho.tick(self.toc_do_bam_gio)
#######################
# phần 5 : tiếp theo
class DoiTuongGame:
def __init__(self,duong_dan_hinh_anh,x,y,chieu_rong,chieu_cao):
self.vitri_x = x
self.vitri_y = y
self.chieu_rong = chieu_rong
self.chieu_cao = chieu_cao
#load hình ảnh
hinh_doi_tuong = pygame.image.load(duong_dan_hinh_anh)
#thay đổi hình ảnh
self.hinh_anh = pygame.transform.scale(hinh_doi_tuong, (chieu_rong,chieu_cao))
def ve(self,nen):
nen.blit(self.hinh_anh,(self.vitri_x,self.vitri_y))
#phan 6
class NhanVatNguoiChoi(DoiTuongGame):
TOC_DO = 10
def __init__(self,duong_dan_hinh_anh,x,y,chieu_rong,chieu_cao):
super().__init__(duong_dan_hinh_anh,x,y,chieu_rong,chieu_cao)
#Phương thức di chuyển
def di_chuyen(self, chieu,chieu_cao_man_hinh):
# chỉ di chuyển lên xuống, ko di chuyển trái, phải
# tăng y: đi lên, giãm y: đi xuống
# x= ko thay đổi
if chieu > 0: #đi lên
self.vitri_y -= self.TOC_DO
elif chieu <0: #đi xuống
self.vitri_y += self.TOC_DO
#kiểm tra chiều cao màn hình
if self.vitri_y >= chieu_cao_man_hinh - 70: #cộng thêm kich thước quân thù
self.vitri_y = chieu_cao_man_hinh - 70 #dừng tại vị trí cạnh biên
#phan 7
class QuanThu(DoiTuongGame):
toc_do = 10
def __init__(self,duong_dan_hinh_anh,x,y,chieu_rong,chieu_cao):
super().__init__(duong_dan_hinh_anh,x,y,chieu_rong,chieu_cao)
#Phương thức di chuyển - di chuyển ngang
def di_chuyen(self, chieu_rong_man_hinh):
# chỉ di chuyển ngang
# ko nên để sát tường quá
if self.vitri_x <= 20:
#di chuyển từ trái qua phải
self.toc_do = abs(self.toc_do)
elif self.vitri_x >= chieu_rong_man_hinh -70:
self.toc_do =-abs(self.toc_do)
self.vitri_x += self.toc_do
#######################
#Khởi tạo pygame
pygame.init()
#Tạo đối tượng Trò chơi
tro_choi = TroChoi(TIEU_DE_MAN_HINH, CHIEU_RONG_MAN_HINH, CHIEU_CAO_MAN_HINH)
#Chạy chương trình : gọi phương thức
tro_choi.chay_vong_lap_game()
# thóa khỏi pygame và chương trình
pygame.quit()
Nhan Thị Kim Ngọc
Chào Thầy,
hôm nay mở lại file hôm trước đang thực hành thì chạy báo lỗi, nhờ thầy hd giúp ạ.
Cảm ơn
**************
Python 3.12.11 | packaged by conda-forge | (main, Jun 4 2025, 14:29:09) [MSC v.1943 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 9.10.0 -- An enhanced Interactive Python. Type '?' for help.
%runfile D:/Data/Hoc/106_Gitiho/106_10_Python_Game/106_10_04_ThucHanh/Game_Bang_Qua_Duong_Phan_6.py --wdir
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
File d:\data\hoc\106_gitiho\106_10_python_game\106_10_04_thuchanh\game_bang_qua_duong_phan_6.py:16
2 """
3 Created on Wed Feb 11 11:00:58 2026
4
5 @author: Ngoc.NhanThiKim
6 """
7 """
8 #------------------------------------
9 Pygame 5
(...) 13 #------------------------------------
14 """
---> 16 import pygame #thư viện chứa các hàm, lớp
18 #------------------------------------
19 #1. Thiết lập màn hình game
20 #------------------------------------
(...) 23
24 # ĐỘ PHÂN GIẢI MÀN HÌNH
25 CHIEU_RONG_MAN_HINH = 600
ModuleNotFoundError: No module named 'pygame'
Important
It seems you're trying to use a module that doesn't come with our installer. Check this FAQ in our docs to learn how to do this..png)
Đinh Nguyễn Trọng Nghĩa [Giảng viên]
ModuleNotFoundError: No module named 'pygame'
Đây là thông báo pygame chưa được cài thành công. Bạn thử cài lại xem sao nhé.
Nhan Thị Kim Ngọc
Chào Thầy,
Sau khi cài Python xong, e cài pygame ko đc,
Nhờ thầy kiểm tra giúp
Cảm ơn
.png)
Đinh Nguyễn Trọng Nghĩa [Giảng viên]
Tôi đã kiểm tra, nguyên nhân là khi cài Python mình chưa chọn thêm Python vào PATH, nên máy không nhận lệnh pip trong Command Prompt.
Bạn làm theo một trong hai cách sau nhé:
Click phải Vào This PC → Properties → Advanced system settings
Chọn Environment Variables
Ở mục System variables → Path → Edit
Thêm 2 dòng (đúng theo thư mục Anaconda trên máy), ví dụ:
Đóng CMD, mở lại rồi chạy:
Chúc bạn thành công

Nhan Thị Kim Ngọc
Chào thầy,
Cho hỏi là trên máy tính của e mở ra ko giống giao diện như trong video, vậy tải chổ nào ạ
Nhờ thầy hướng dẫn giúp.
Cảm ơn
.png)
Đinh Nguyễn Trọng Nghĩa [Giảng viên]
Chào bạn, Bạn download phiên bản Distribution nhé.
https://repo.anaconda.com/archive/Anaconda3-2025.12-1-Windows-x86_64.exe
Nguyen Thi Thuy Hong
cái anaconda mới nó ko có invidual edition thì mình chọn j
Đinh Nguyễn Trọng Nghĩa [Giảng viên]
Chào bạn,
Bạn có thể vào trang này: https://www.anaconda.com/download/success
Sau đó download phiên bản Anaconda Distribution