Hướng dẫn lập trình game bóng bàn bằng Pascal từ A-Z

,

Pascal được sử dụng phổ biến trong giảng dạy, giúp học sinh có bước đệm tốt để dễ dàng tiếp cận với những ngôn ngữ lập trình khác. Trong bài viết này, Học Viện Agile sẽ hướng dẫn các bạn cách lập trình game bóng bàn bằng Pascal.

@ Bài viết trích nguồn từ Club Engineer

Pascal – ngôn ngữ dành cho giảng dạy 

Pascal là ngôn ngữ lập trình được phát triển bởi Niklaus Wirth từ năm 1970 và đặt tên theo nhà toán học, triết học Blaise Pascal. Ban đầu, Pascal được dùng như một ngôn ngữ vỡ lòng trong giảng dạy lập trình cấu trúc. Vì vậy, từng có thời điểm Pascal phát triển mạnh mẽ vượt xa các ngôn ngữ đối thủ, dẫn tới sự ra đời của nhiều trình dịch Pascal như Turbo Pascal (Borland, Mỹ) hoặc UCSD Pascal (Đại học California)… Ngôn ngữ này có đặc điểm là mọi chương trình đều bắt đầu bằng từ khóa program và mã nguồn không phân biệt chữ in. Pascal là ngôn ngữ lập trình thủ tục với các từ khóa như if, while, for và hạn chế tối đa lệnh go to.

Giao diện đơn giản của Pascal

Hiện nay, Pascal không được sử dụng để lập trình ở doanh nghiệp mà chủ yếu chỉ xuất hiện trong chương trình học. Pascal đòi hỏi tư duy logic cao và học sinh phải có khả năng giải quyết vấn đề thuật toán. Việc học Pascal ở bậc THCS và THPT giúp học sinh có bước đệm tốt, dễ dàng tiếp cận với những ngôn ngữ lập trình bậc cao như JavaScript, C++/C#… 

Trong bài viết này, Học Viện Agile sẽ hướng dẫn bạn cách lập trình game bóng bàn bằng Pascal và IDE Lazarus. 

Lập trình game bóng bàn (Pong) bằng Pascal

Game bóng bàn (Pong) là một trong những tựa game trên máy tính đầu tiên được ra mắt vào năm 1972 với nguyên tắc đơn giản gồm hai vợt – một bóng. Người chơi cần đánh bại đối thủ bằng cách giành được 10 điểm trước. Mỗi khi đối thủ giao bóng hỏng, người chơi sẽ nhận được thêm một điểm. Pong có thể được chơi bởi 2 players hoặc 1 player chơi với máy tính. 

Màn hình game Pong

Chuẩn bị

Hướng dẫn lập trình game Pong bằng Pascal

Bước 1: Tạo application

  • Tạo đường dẫn để lưu trữ game
  • Tạo một application rỗng, chọn lưu
  • Chạy thử application để kiểm tra có hoạt động hay không

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/HT8Q2Op5N5k” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 2: Cài đặt nền

  • Tạo nền đen ở màn hình chính
  • Đặt kích thước
  • Đặt vị trí trên màn hình
  • Cài đặt khung viền

Giao diện game Pong

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/-jQUNVjYCco” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 3: Gán chức năng thoát game (exit) cho phím Esc

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/ed-_FR9Y3QE” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 4: Vẽ trái bóng bàn trên màn hình

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/mnwe-oKoH_4″ title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 5: Tạo chuyển động của bóng bàn

Lập trình chuyển động của bóng bàn

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/EL4q660rXWM” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 6: Đơn giản hóa chuyển động của bóng bàn

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/_5ZTPT48L_U” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 7: Điều chỉnh chuyển động của bóng bàn từ bàn phím

Gán các chức năng điều chỉnh chuyển động của trái bóng bàn

Tên phímChuyển động
Phím LSang phải
Phím JSang trái
Phím ILên
Phím MXuống

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/D_lrm6GuQGU” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 8: Lập trình chuyển động của trái bóng bàn xung quanh màn hình

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/o6uyGWXrHng” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 9: Lập trình chuyển động nảy đúp (bounce) của trái bóng bàn khi chạm vào viền màn hình

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/BKtuzOxGDG4″ title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 10: Lập trình chuyển hướng của trái bóng bàn

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/HTX8qsVEMb4″ title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 11: Lập trình hướng bật nảy của trái bóng bàn

Chuyển động nảy đúp (bounce) của trái bóng bàn

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/0AeEKomY63U” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 12: Thêm vợt bóng và gán chuyển động của vợt tương ứng với dữ liệu nhập từ bàn phím

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/ywAuT7VHEZM” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 13: Giới hạn phạm vi của chuyển động vợt trên màn hình

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/exXZxRQ1leY” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 14: Tạo chuyển động nảy đúp (bounce) của bóng khi tiếp xúc với vợt

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/TWWdXGswHJI” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 15: Lưu điểm số

  • Khai báo biến để lưu điểm số
  • Khởi tạo biến khi game bắt đầu lại
  • Trừ điểm khi giao bóng trượt
  • Hiển thị điểm trên màn hình
  • Khi điểm đạt 10, máy tự động báo người thắng cuộc

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/8QlOU8UKvGg” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 16: Tạo lưới

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/Z7qtMCOZxuQ” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 17: Điểm số khi bóng xuyên thủng vợt, lưới

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/QGknT1hkHAE” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bóng bật nảy trở lại và xuyên vào vợt

Bước 18: Tạo màn hình hướng dẫn

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/F07FNgLcuxo” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 19: Âm thanh khi bóng nảy đúp

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/7vRNWY81krQ” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Bước 20: Clean code

  • Sửa lỗi gián đoạn khi bóng nảy đúp
  • Thu nhỏ diện tích màn hình game
  • Thu nhỏ kích thước bóng
  • Tăng tốc độ di chuyển của bóng

<iframe width=”420″ height=”315″ src=”https://www.youtube.com/embed/LWrfLliOY1A” title=”YouTube video player” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>

Hy vọng hướng dẫn lập trình game bóng bàn bằng pascal trên đây đã giúp ích cho các bạn đang quan tâm và tìm hiểu về lập trình Pascal. Pascal giúp người học biết được khái quát cấu trúc một chương trình, hiểu cách lập trình viên phát triển một phần mềm như thế nào, từ đó có nền móng để học thêm nhiều ngôn ngữ lập trình. Dù ngôn ngữ này hiện nay không còn được sử dụng rộng rãi, không thể phủ nhận đây từng là ngôn ngữ phổ biến và có tầm quan trọng trong quá khứ không kém Java, Python hay C++ hiện tại.

Đặc thù của ngành công nghệ thông tin là luôn đòi hỏi quá trình học tập lâu dài, liên tục. Trong những năm gần đây, ngoài chú trọng về kỹ năng chuyên môn, các công ty còn tìm kiếm nhân lực IT có khả năng làm việc hiệu quả với đội nhóm, giải quyết và phân tích vấn đề. Tại Việt Nam, khái niệm Agile đang ngày càng phổ biến không chỉ ở các công ty công nghệ bởi Agile giúp giải quyết triệt để vấn đề gắn kết của hoạt động teamwork, tối ưu hiệu quả và năng suất lao động, giảm thiểu rủi ro khi thực hiện dự án. Agile là cơ hội rất tốt để các lập trình viên phát triển tay nghề và tiến xa hơn trên con đường sự nghiệp, khi ngày càng có nhiều công ty nhìn ra hiệu quả và tầm quan trọng của Agile Software Development. Nếu các bạn muốn tìm hiểu thêm về các khóa học Agile, truy cập tại đây nhé.