import pygame | print("Hello, Future Game Developer!")
Bước chuyển mình hoàn hảo từ lập trình kéo thả (Scratch) sang lập trình văn bản chuyên nghiệp. Xây dựng nền tảng khoa học máy tính vững chắc và tư duy hướng đối tượng (OOP) thông qua việc tự tay thiết kế Game 2D.
Bước Chuyển Tiếp Từ Scratch Sang Python
Học sinh đã hoàn thành Scratch 3.0 sẽ nắm bắt Pygame cực nhanh nhờ sự tương đồng về tư duy Game Loop và tọa độ.
Đã đến lúc con bạn vượt ra khỏi những khối lệnh xếp hình và tự tin gõ những dòng mã lệnh chuyên nghiệp.
Python là ngôn ngữ lập trình phổ biến hàng đầu thế giới, là nền tảng cốt lõi của AI, Khoa học dữ liệu và IoT. Học Pygame là con đường trực quan, cuốn hút nhất để nắm vững cú pháp Python chuẩn mực.
Trẻ được rèn luyện khái niệm Lớp (Class), Đối tượng (Object) và Kế thừa (Inheritance). Thay vì quản lý từng dòng rời rạc, trẻ học cách tạo ra một "Bản thiết kế mẫu" để sinh ra hàng trăm thực thể trong game.
Ứng dụng trực tiếp kiến thức Toán học (Hệ tọa độ Descartes, Vector vận tốc) và Vật lý (Trọng lực, Gia tốc, Quán tính va chạm) để tạo ra các chuyển động chân thực trên màn hình máy tính.
Đi từ những dòng code `print()` đầu tiên đến khi tự tay tối ưu, đóng gói và phát hành tựa game 2D độc lập.
Củng cố cú pháp Python căn bản, thiết lập cửa sổ Window, xây dựng Game Loop vô tận và vẽ các hình học cơ bản.
Làm chủ hàng đợi sự kiện (Event Queue). Điều khiển nhân vật mượt mà bằng bàn phím/chuột và kết xuất hình ảnh đồ họa (Images).
Trọng tâm cốt lõi. Học cách tổ chức mã nguồn chuyên nghiệp bằng Lập trình Hướng đối tượng và xử lý va chạm đa thực thể.
Thêm hiệu ứng vật lý, âm thanh sống động, chuyển đổi trạng thái Game State và bảo vệ đồ án tốt nghiệp xuất bản lên GitHub.
Trải nghiệm phương pháp học lập trình dòng lệnh (Text-based) thông qua dự án chế tạo Game Tàu Chiến Vũ Trụ (Buổi 15).
Thiết lập kiến trúc trước khi gõ dòng code đầu tiên
Giáo viên hướng dẫn học sinh lập tài liệu thiết kế trò chơi (Game Design Document):
Player (Tàu người chơi điều khiển), Enemy (Thiên thạch rơi xuống), Bullet (Tia đạn laser bắn ra).
Bullets chạm Enemies → Cả hai biến mất, tích lũy điểm số.Enemies chạm Player → Trừ máu hoặc Game Over.
Phân rã bài toán lớn thành các Class độc lập giúp học sinh không bị ngợp khi đối diện với các file mã nguồn dài. OOP giúp mô hình hóa game logic trực quan như ngoài đời thực.
Tạo thực thể thiên thạch bay trong file `enemy.py`
Học sinh tự tay viết mã nguồn định nghĩa thực thể `Enemy` kế thừa từ lớp `pygame.sprite.Sprite`:
import pygame
import random
class Enemy(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
# Load hình ảnh thiên thạch và lấy khung hình chữ nhật (rect)
self.image = pygame.image.load("assets/meteor.png").convert_alpha()
self.rect = self.image.get_rect()
# Vị trí xuất hiện ngẫu nhiên ở mép trên màn hình
self.rect.x = random.randrange(0, 800 - self.rect.width)
self.rect.y = random.randrange(-100, -40)
# Tốc độ rơi ngẫu nhiên
self.speedy = random.randrange(2, 6)
def update(self):
# Cập nhật tọa độ Y để thiên thạch rơi xuống
self.rect.y += self.speedy
# Nếu rớt khỏi đáy màn hình (HEIGHT = 600) -> Tái sinh lên đỉnh
if self.rect.top > 600 + 10:
self.rect.x = random.randrange(0, 800 - self.rect.width)
self.rect.y = random.randrange(-100, -40)
self.speedy = random.randrange(2, 6)
Đăng ký ngay hôm nay để nhận 1 buổi học thử Python thực chiến và được kiểm tra năng lực tư duy thuật toán, định hướng lộ trình chứng chỉ quốc tế PCEP hoàn toàn miễn phí.
Định hướng ôn thi chứng chỉ PCEP & AP Computer Science A cho học sinh trung học.