Ở dự án này, bạn sẽ lập trình game Scratch, giả lập quá trình NASA điều khiển Xe tự hành Perseverance thu thập mẫu vật trên Sao Hỏa.
Perseverance có nhiệm vụ thu thập các mẫu đá sao Hỏa để đưa về Trái Đất nghiên cứu. Qua đó, các nhà khoa học có thể tìm hiểu về lịch sử, khí hậu và sự sống trên sao Hỏa.
Chuẩn bị dự án
Tải sprite hình ảnh sẽ dùng trong dự án này (tải Perseverance.sb3), bao gồm:
- Spite Xe tự hành Perseverance
- Spite Ống thu thập mẫu đá
- Backdrop Hình ảnh bề mặt Sao Hỏa
Sau khi tải về máy tính, đăng nhập vào Scratch, tạo dự án mới, sau đó tải Perseverance lên (File -> Load from your computer -> Chọn file Perseverance.sb3 đã tải về trên máy tính).

Bắt đầu lập trình Game Perseverance
Phần 1 – Lập trình Xe tự hành di chuyển
Đầu tiên, các bạn sẽ lập trình cho Xe tự hành Perseverance có thể di chuyển được: đi tới, đi lui, rẽ trái, rẽ phải.
Chọn sprite Perseverance.
Sử dụng các lệnh: forever, if… then, key … pressed, theo hình dưới đây

Sau đó, rê chuột vào dòng if… then, tạo bản sao các dòng lệnh cho nhanh. Điều chỉnh các thông số để lập trình đi lui, rẽ trái, rẽ phải

Lưu ý thay đổi các thông số trong key … pressed?,

Thay đổi point in direction (90 nếu rẽ phải, -90 nếu rẽ trái, 180 để đi lùi)

Thử thay đổi thông số move … steps để chọn tốc độ phù hợp. Ví dụ ở bài này mình chọn move 2 steps.
Các lệnh hoàn chỉnh để điều khiển xe tự hành di chuyển như sau:

Đồng thời, sử dụng dòng lệnh go to x y để lập trình điểm xuất phát của xe tự hành.

Bấm green flag để thử nghiệm di chuyển xe và vị trí xuất phát

Phần 2- Lập trình cho ống thu thập mẫu
Xe tự hành sẽ đi thu thập các ống này. Do đó, về mặt hiệu ứng, các ống thu thập sẽ biến mất khi chạm vào xe.
Chọn sprite ống thu thập mẫu.
Sử dụng các lệnh hide, show, if touching Perseverance then, để tạo hiệu ứng

Bình thường khi click green flag, ống thu thập sẽ hiển thị trên màn hình (show), nhưng sẽ biến mất (hide) khi chạm vào xe, đồng thời sẽ hiển thị dòng chữ “Sample collected” trong 2 giây.

Đồng thời, có thể bổ sung vị trí xuất hiện ngẫu nhiên của ống thu thập mẫu ở phía góc phải màn hình. Sử dụng pick random + toạ độ, để tạo vị trí ngẫu nhiên.

Phần 3 – tạo chướng ngại vật
Trong quá trình điều khiển xe sẽ gặp một số chướng ngại vật trên đường, ví dụ các ụ đá cao, gờ sâu.
Đánh dấu các điểm nguy hiểm bằng các đường màu (chẳng hạn chọn màu xanh). Khi xe chạm vào màu này sẽ bị trừ điểm hoặc quay lại điểm xuất phát.
Chọn backdrop trong Stage

Chọn tab backdrop, sử dụng công cụ brush, điều chỉnh độ rộng của brush và màu để vẽ chướng ngại vật.
Lưu ý khoảng cách giữa các chướng ngại vật đủ để lái xe qua, nhưng đủ khó để người điều khiển phải tập trung mới vượt qua được.

Sau đó, quay trở lại chọn Sprite Xe tự hành Perseverance để lập trình cho xe quay về điểm xuất phát, nếu chạm vật cản màu xanh.

Như vậy các bạn đã cơ bản hoàn chỉnh xong game điều khiển Xe tự hành Perseverance thu thập ống mẫu trên sao Hỏa.

Phần 3 – Lập trình thời hạn hoàn thành nhiệm vụ thu thập mẫu
Mỗi nhiệm vụ sẽ bị giới hạn bởi thời gian hoàn thành. Để thiết lập thời hạn, các bạn sử dụng biến Variables.
Chọn Variables -> Make a Variable. Đặt tên biến là timer (click chọn For all sprites)
Thiết lập giá trị của biến là 15. Sau mỗi giây trôi qua, biến sẽ thay đổi -1, đến khi chạm đến 0 thì hết thời hạn, dừng game.
Chọn sprite Perseverance, và lập trình như sau:

Các bạn tham khảo các lệnh hoàn chỉnh cho Sprite Perseverance.

Suy nghĩ thêm:
- Có thể thay thế ống thu thập mẫu bằng các viên đá quý (dùng brush trong costumer để vẽ). Mỗi sprite là một viên đá.
- Điều chỉnh thời hạn hoàn thành phù hợp với độ khó của nhiệm vụ
- Bổ sung âm thanh (sound) để tạo sự hấp dẫn cho game
Vậy là đã hoàn chỉnh bản game này rồi. Chơi thử nhé!
Lời kết
Cảm ơn Jet Propulsion Laboratory về bài hướng dẫn game này. Các bạn có thể xem chi tiết bài viết gốc bằng tiếng Anh tại đây.
Perseverance có nghĩa là tính bền bỉ, kiên trì. Một cái tên rất ý nghĩa đúng không nào? Hãy kiên trì học hỏi và thực hành nhé!