Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
NEW
Game Dev

/

Game Programming

[Phát triển game Python] Tạo trò chơi dò mìn mà người mới bắt đầu cũng có thể làm theo

Thời học sinh của chúng ta, tiếng 'tách tách' vang lên từ phòng máy tính… chính là trò dò mìn. Trong khóa học này, chúng ta sẽ tái hiện lại kỷ niệm đó bằng Python. Dù là người mới bắt đầu, thậm chí là người lần đầu tiếp xúc với Python, chỉ cần theo từng dòng code thì không biết khi nào trò chơi dò mìn của riêng bạn đã hoàn thành rồi.

(5.0) 2 đánh giá

27 học viên

  • sskcoach
실습 중심
왕초보
파이썬
Python
Pygame
2d-games
pygame-gui
game-programming

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Cơ bản về tạo game 2D sử dụng pygame

  • Thiết kế logic và phương pháp triển khai game dò mìn

  • Xử lý sự kiện (nhấp chuột, nhập bàn phím) và vẽ màn hình

  • Kỹ thuật cấu trúc hóa và tái cấu trúc mã với class và function

Người mới bắt đầu cũng OK! Game dò mìn được tạo bằng Python

Trong khóa học này, chúng ta sẽ bắt đầu từ cú pháp cơ bản của Python và từng bước tạo ra một trò chơi dò mìn thực sự hoạt động.

Được cấu trúc để những người mới bắt đầu phát triển game, người mới học lập trình, hoặc những ai muốn bắt đầu coding như một sở thích có thể dễ dàng trải nghiệm thiết kế logic game.

  • Trong suốt khóa học, chúng ta sẽ từng bước thực hiện tạo bảng game, bố trí mìn, tính toán số xung quanh, triển khai thao tác cắm cờ/mở ô, xác định thắng thua trong game.


  • Cá nhân gi강사 cũng tin rằng "lập trình chỉ thú vị khi tự tay tạo ra", nên đã cấu trúc khóa học để ngay cả người mới bắt đầu cũng có thể hoàn thành dự án đầu tiên của mình.




Chỉ đề cập đến những màn hình thực sự cần thiết để giảm gánh nặng học tập cho học viên.

Màn hình game 1

Màn hình game 2

Màn hình hoàn thành game

Màn hình Game Over

  • Sau khi hoàn thành khóa học, bạn sẽ hiểu và có thể tự triển khai cú pháp cơ bản của Python, xử lý mảng 2 chiều, lập trình dựa trên sự kiện và phương pháp tạo game đơn giản.


  • Học viên có thể tùy chỉnh như sửa đổi logic game riêng, thay đổi thiết kế, điều chỉnh độ khó sau khi hoàn thành khóa học.


Nội dung học tập

Phần 1 – Thiết lập môi trường cơ bản và tạo board

Bắt đầu bước đầu tiên trong việc phát triển trò chơi dò mìn.
Từ việc cài đặt pygame đến viết mã thực thi ban đầu, chúng ta sẽ thiết lập môi trường phát triển và vẽ khung của bảng trò chơi trên console và màn hình.
Sau khi hoàn thành phần này, khung cơ bản của trò chơi sẽ được chuẩn bị sẵn sàng.

Phần 2 – Sắp xếp cấu trúc ban đầu và bố trí mìn

Triển khai logic cốt lõi để đặt bom mìn trên bảng trò chơi.
Ban đầu sẽ đặt thủ công để tiến hành kiểm thử, sau đó mở rộng sang việc đặt bom mìn ngẫu nhiên.
Ngoài ra, học logic tính toán để xác định số ở mỗi ô được quyết định như thế nào.

Phần 3 – Thiết kế hướng đối tượng và thao tác nhấp chuột

Cấu trúc bảng trò chơi dưới dạng lớp Board để tăng khả năng đọc và tái sử dụng mã.
Triển khai phương pháp chuyển đổi tọa độ nhấp chuột thành tọa độ mảng, và thực hiện các thao tác mở ô hoặc đánh dấu cờ theo cách nhấp chuột trái·phải.

Phần 4 – Triển khai logic nâng cao

Thêm các tính năng nâng cao để tăng sức hấp dẫn của trò chơi dò mìn.
Áp dụng thuật toán Flood Fill để mở nhiều ô trống cùng một lúc, và tiến hành refactoring để loại bỏ code trùng lặp và tăng tính dễ đọc.
Xử lý ngoại lệ hiệu quả và tính năng cài đặt bảng game cũng được đề cập trong giai đoạn này.

Phần 5 – Xử lý thắng thua và các tính năng bổ sung

Triển khai điều kiện game over và chiến thắng để nâng cao độ hoàn thiện của trò chơi.
Thực hiện chức năng CHORDING để mở nhiều ô cùng lúc, chức năng khởi động lại game, và trang trí UI bằng emoji font.
Sau khi hoàn thành phần này, bạn có thể chơi trò chơi dò mìn hoàn chỉnh.

Lưu ý trước khi học

  • Cần chuẩn bị môi trường phát triển.
    Cần có thể cài đặt Python phiên bản 3.x và pygame, có thể thực hành trên một trong các môi trường Windows, macOS, Linux.

  • Không đề cập đến lập trình GUI (Giao diện người dùng đồ họa).
    Khóa học này sử dụng thư viện pygame, nhưng không bao gồm quá trình tạo các widget GUI như nút bấm hay menu. Chúng ta sẽ tập trung vào bàn cờ, đầu ra đồ họa và xử lý sự kiện chuột.


  • Đây là khóa học tập trung vào việc triển khai logic game.
    Mục tiêu không chỉ đơn thuần là copy code, mà là hiểu nguyên lý hoạt động và thuật toán của game dò mìn, sau đó tự tay triển khai toàn bộ quá trình.

  • Trường hợp khó theo kịp trong quá trình học
    Nếu bạn cảm thấy khó theo kịp do thiếu nền tảng lập trình cơ bản, vui lòng tham khảo phần nền tảng cơ bản của khóa học dưới đây.
    Phần nền tảng cơ bản có thể học miễn phí.
    https://inf.run/bF2ta


    Chúng tôi cung cấp mã giảm giá cho những người tham gia khóa học này. Nếu bạn muốn đăng ký học có phí, vui lòng sử dụng liên kết sau. (Mã giảm giá Space Invaders)

Python, Pygame, 2d-games, pygame-gui, game-programming

Môi trường thực hành

  • Hệ điều hành (OS)
    Trong khóa học, chúng tôi đã thực hành trên môi trường macOS, nhưng bạn cũng có thể triển khai tương tự trên môi trường WindowsLinux (bao gồm Ubuntu).
    Không có giới hạn lớn về phiên bản OS, nhưng khuyến nghị sử dụng môi trường có thể cài đặt Python 3.8 trở lên.

  • Công cụ sử dụng

    • Python 3.x (khuyến nghị 3.8 trở lên)

    • Thư viện pygame (phiên bản ổn định mới nhất)

    • Trình soạn thảo mã: PyCharm (khuyến nghị), Visual Studio Code, v.v. đều có thể sử dụng

    • Tất cả đều miễn phí.

  • PC 사양

    • CPU: Dual core trở lên (khuyến nghị i3, Ryzen 3 trở lên)

    • Bộ nhớ: 4GB trở lên

    • Ổ đĩa: Dung lượng trống từ 2GB trở lên


Tài liệu học tập

  • Định dạng cung cấp

    • Toàn bộ mã nguồn ví dụ bài giảng (được cung cấp thông qua kho lưu trữ GitHub)


  • Đặc điểm và lưu ý

    • Mã được commit theo từng giai đoạn tiến trình bài giảng, do đó bạn có thể kiểm tra mã phù hợp với video cho từng phần.

    • Liên kết GitHub chỉ được cung cấp cho học viên đã đăng ký khóa học và có thể tự do tải xuống để chỉnh sửa và thực hành.


Kiến thức tiên quyết và lưu ý

  • Kiến thức tiên quyết bắt buộc

    • Không cần kiến thức chuyên môn đặc biệt, nhưng đối với những người chưa quen với lập trình

      Trong trường hợp khó theo kịp trong quá trình học, khuyến nghị tham khảo phần kiến thức cơ bản của khóa học dưới đây. (Phần công khai)
      https://inf.run/bF2ta

  • Chất lượng video

    • Video bài giảng đã được chỉnh sửa để văn bản trên màn hình và mã code hiển thị rõ nét.

    • Môi trường xem được khuyến nghị là PC hoặc tablet, trên màn hình nhỏ (smartphone) có thể làm giảm khả năng đọc một số đoạn code.

  • Phương pháp học tập được khuyến nghị

    • Tôi khuyên bạn nên viết và chạy code ngay khi xem bài giảng.

    • Mã code từng giai đoạn của bài gi강 có thể được xem trong kho lưu trữ GitHub, vì vậy hãy sử dụng khi cần thiết.

  • Hỏi đáp và cập nhật

    • Nếu có thắc mắc trong quá trình học, hãy để lại câu hỏi trên bảng Q&A của bài giảng, chúng tôi sẽ kiểm tra và trả lời.

    • Trong trường hợp cần sửa lỗi hoặc cải thiện tính năng, chúng tôi sẽ cập nhật nội dung bài giảng và mã nguồn.

  • Hướng dẫn bản quyền

    • Bản quyền của tất cả video bài giảng, mã code ví dụ và tài liệu học tập đều thuộc về giảng viên.

    • Có thể sao chép, phân phối lại, chỉnh sửa thứ cấp, nhưng nhất định phải ghi rõ nguồn.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người mới bắt đầu học lập trình hoàn toàn từ con số 0

  • Người mới bắt đầu quan tâm đến phát triển game

  • Những ai muốn học Python một cách thú vị

  • Những ai tò mò về kiến thức cơ bản trong việc sản xuất game

Xin chào
Đây là

591

Học viên

20

Đánh giá

15

Trả lời

4.8

Xếp hạng

3

Các khóa học

Hi, I’m sskcoach — a passionate developer who loves bringing ideas to life through code.

Chương trình giảng dạy

Tất cả

24 bài giảng ∙ (3giờ 9phút)

Tài liệu khóa học:

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

2 đánh giá

5.0

2 đánh giá

  • 알케이님의 프로필 이미지
    알케이

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    32% đã tham gia

    • sunny75님의 프로필 이미지
      sunny75

      Đánh giá 94

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      (25/08/30/토 19:52) 게임만 봐서는 알수 없는 개발을, 강의를 들으니 많이 이해 했습니다. 전 강의 시간이 5시간 이하를 좋아하거든요.^^;; 좋은 강의 만들어 주셔서 감사합니다.

      • 쓱코치
        Giảng viên

        sunny75님 안녕하세요. 게임에 대한 이해가 되셨다니 뿌듯합니다. 강의 만들때 3시간 정도에 맞추느라 고민이 많았는데, 시간 맞춘 보람이 있네요. 후한 평가 넘 감사합니다. 즐거운 코딩 되세요.

    Ưu đãi có thời hạn

    4.990 ₫

    49%

    208.942 ₫

    Khóa học khác của sskcoach

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!