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ị
- Cài đặt FreePascal và Lazarus
- Tải Pong sound files
- Tải Pong source code
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
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
Bước 3: Gán chức năng thoát game [exit] cho phím Esc
Bước 4: Vẽ trái bóng bàn trên màn hình
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
Bước 6: Đơn giản hóa chuyển động của bóng bàn
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ím | Chuyển động |
Phím L | Sang phải |
Phím J | Sang trái |
Phím I | Lên |
Phím M | Xuống |
Bước 8: Lập trình chuyển động của trái bóng bàn xung quanh màn hình
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
Bước 10: Lập trình chuyển hướng của trái bóng bàn
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
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
Bước 13: Giới hạn phạm vi của chuyển động vợt trên màn hình
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
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
Bước 16: Tạo lưới
Bước 17: Điểm số khi bóng xuyên thủng vợt, lưới
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
Bước 19: Âm thanh khi bóng nảy đúp
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
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é.