Đề thi mẫu: Mê cung tìm chìa khóa
Đề tổng hợp điều khiển, cảm biến màu, biến trạng thái, phát tin và xử lý điều kiện thắng.
Nội dung đề bài
Trong mê cung, nhân vật di chuyển bằng bốn phím và không được xuyên tường. Người chơi phải lấy chìa khóa trước khi chạm cửa. Nếu chưa có chìa, cửa từ chối; nếu đã lấy chìa, hiện lời chúc và kết thúc màn chơi.
Hình minh họa khối lệnh Scratch
NHÂN VẬT
Khi bấm cờ xanh
đặt [Đã có chìa] thành 0
đi tới điểm xuất phát
liên tục
nếu phím phải → đổi x 4
nếu chạm màu tường → đổi x -4
nếu phím trái → đổi x -4
nếu chạm màu tường → đổi x 4
CHÌA KHÓA
Khi bấm cờ xanh → hiện
Liên tục
nếu chạm Nhân vật
đặt [Đã có chìa] thành 1
ẩn
CỬA
Liên tục
nếu chạm Nhân vật
nếu [Đã có chìa] = 1 → gửi tin [Thắng]
nếu không → nói [Hãy tìm chìa khóa trước!]Thuật toán từng bước
- 1Khi bắt đầu, đặt biến Đã có chìa = 0, đưa nhân vật về điểm xuất phát và hiện lại chìa khóa.
- 2Mỗi lần bấm hướng, di chuyển một bước nhỏ. Nếu chạm đúng màu tường thì hoàn tác bước vừa đi.
- 3Khi nhân vật chạm chìa, đặt Đã có chìa = 1, phát hiệu ứng và ẩn chìa để không thể nhặt lặp.
- 4Cửa kiểm tra va chạm. Chỉ khi biến Đã có chìa bằng 1 mới gửi thông điệp Thắng.
- 5Sân khấu nhận Thắng, hiện kết quả và dừng trò chơi. Không dừng ở nhánh cửa bị khóa.
Giải thích chi tiết
Bài thi có ba trạng thái chính: chưa có chìa, đã có chìa và đã thắng. Biến Đã có chìa ghi nhớ tiến độ giữa các lần nhân vật chạm vật thể. Để không xuyên tường, dùng bước di chuyển nhỏ (3–5 đơn vị) rồi kiểm tra va chạm; nếu chạm màu tường thì trả nhân vật về vị trí vừa trước bước đó. Màu tường trong cảm biến phải trùng màu trên mê cung. Kiểm thử bắt buộc: chạm cửa trước chìa thì chưa thắng; lấy chìa thì chìa biến mất; sau đó chạm cửa mới thắng; bấm cờ xanh lần nữa thì biến trở về 0 và chìa xuất hiện lại.