Cơ bản · Mức 4 · Bài 7

Nóng – lạnh: tìm kho báu

Mục tiêu: Kho báu giấu ở chỗ ngẫu nhiên; di chuột đi tìm, mèo báo Lạnh, Ấm, Nóng theo khoảng cách, đúng chỗ thì báo tìm thấy.

Em sẽ học gì

  • Nội dung trong bài: đo khoảng cách từ kho báu tới con trỏ chuột.
  • Một biến dùng chung: kho báu ghi, mèo đọc.
  • Điều kiện lồng nhau, để báo nóng, ấm hay lạnh.
Kết quả cần đạt
Kết quả cần đạt: bấm cờ xanh để chạy thử.
133

Bài làm như sau. Sân khấu rộng từ âm 240 đến 240 theo chiều ngang x, và từ âm 180 đến 180 theo chiều dọc y. Điểm chính giữa sân khấu có x bằng 0, y bằng 0. Đặt mèo ở góc dưới bên trái: x bằng âm 180, y bằng âm 120.

Bước 1
233

Thêm kho báu: bấm nút Chọn một Nhân vật ở góc dưới bên phải, gõ Star vào ô tìm kiếm, rồi chọn ngôi sao. Chọn nhóm Biến số, bấm Tạo một biến, đặt tên là kc, viết tắt của khoảng cách. Giữ lựa chọn: cho tất cả nhân vật.

Bước 2
333

Làm cho kho báu trước. Chọn nhân vật Star.

Bước 3

Việc cần làm: nhảy tới một chỗ ngẫu nhiên, ẩn đi, rồi liên tục ghi khoảng cách tới con trỏ chuột vào biến kc.

433

Chọn nhóm Sự kiện, kéo khối: Khi bấm vào cờ xanh,

Bước 4
533

Chọn nhóm Chuyển động, gắn khối đi tới, mặc định là vị trí ngẫu nhiên: mỗi lần chơi, kho báu ở một chỗ khác,

Bước 5
633

rồi khối ẩn, trong nhóm Hiển thị,

Giải thích: Khối ẩn làm nhân vật biến mất khỏi sân khấu, nhưng chương trình của nó vẫn chạy.

Bước 6
733

Khối vòng lặp mãi mãi, tên là liên tục, trong nhóm Điều khiển,

Bước 7
833

bên trong, khối đặt biến thành, trong nhóm Biến số, chọn biến kc,

Bước 8
933

thả khối làm tròn, trong nhóm Các phép toán, vào ô giá trị: để kc là số gọn, không có phần lẻ,

Bước 9
1033

rồi thả khối khoảng cách đến con trỏ chuột, trong nhóm Cảm biến, vào trong khối làm tròn. Ta vừa làm: kho báu nhảy tới chỗ ngẫu nhiên, ẩn đi, rồi liên tục ghi khoảng cách tới con trỏ chuột vào kc.

Giải thích: Khối khoảng cách đến con trỏ chuột cho biết nhân vật này đang cách con trỏ chuột bao nhiêu bước.

Bước 10
1133
Chạy thử

Chạy thử: bấm cờ xanh, ngôi sao biến mất. Di chuột trên sân khấu: số trong ô kc thay đổi, càng gần kho báu số càng nhỏ.

Bước 11
1233

Bấm nút đỏ để dừng.

Bước 12
1333

Giờ đến mèo dẫn đường. Chọn nhân vật Sprite1.

Bước 13

Việc cần làm: liên tục đọc biến kc. Dưới 40: Tìm thấy rồi!, dừng. Dưới 100: Nóng! Dưới 200: Ấm. Còn lại: Lạnh.

1433

Kéo khối Khi bấm vào cờ xanh,

Bước 14
1533

gắn khối đợi, trong nhóm Điều khiển, gõ 0,5 giây: chờ một chút cho kho báu kịp ghi khoảng cách mới vào kc. Nếu không, mèo sẽ đọc nhầm số của ván trước.

Bước 15
1633

Tiếp theo, khối vòng lặp mãi mãi, tên là liên tục,

Bước 16
1733

bên trong, khối nếu thì, nếu không thì,

Bước 17
1833

điều kiện là phép so sánh nhỏ hơn, trong nhóm Các phép toán: bên phải gõ 40,

Bước 18
1933

bên trái thả biến kc, trong nhóm Biến số: con trỏ chuột cách kho báu dưới 40 bước.

Bước 19
2033

Nhánh trên: khối nói trong 2 giây, trong nhóm Hiển thị, gõ Tìm thấy rồi!

Bước 20
2133

rồi khối dừng lại tất cả, trong nhóm Điều khiển: trò chơi kết thúc. Ta vừa làm: đợi một chút, rồi mèo liên tục kiểm tra: kc nhỏ hơn 40 thì nói Tìm thấy rồi và dừng tất cả.

Bước 21
2233
Chạy thử

Chạy thử: bấm cờ xanh, đưa chuột tới đúng chỗ kho báu: kc nhỏ hơn 40, mèo báo Tìm thấy rồi. Còn ở xa thì mèo chưa nói gì.

Bước 22
2333

Làm tiếp nhánh nếu không thì: khi chưa tìm thấy, mèo báo nóng, ấm hay lạnh.

Bước 23
2433

Lấy thêm một khối nếu thì, nếu không thì, đặt vào nhánh nếu không thì của khối thứ nhất,

Giải thích: Đây là điều kiện lồng nhau: chỉ khi điều kiện bên trên sai, chương trình mới xét tiếp điều kiện này.

Bước 24
2533

điều kiện cũng là phép so sánh nhỏ hơn, bên phải gõ 100,

Bước 25
2633

bên trái thả biến kc.

Bước 26
2733

Nhánh trên: khối nói, loại không có số giây, gõ Nóng!

Bước 27
2833

Nhánh nếu không thì của khối thứ hai: thêm khối nếu thì, nếu không thì thứ ba,

Bước 28
2933

điều kiện: phép so sánh nhỏ hơn, bên phải gõ 200,

Bước 29
3033

bên trái thả biến kc.

Bước 30
3133

Nhánh trên: khối nói, gõ Ấm,

Bước 31
3233

nhánh nếu không thì: cũng khối nói, gõ Lạnh. Ta vừa làm: dưới 40 là tìm thấy, nếu không thì dưới 100 là nóng, nếu không thì dưới 200 là ấm, còn lại là lạnh.

Bước 32
3333
Chạy thử

Chạy thử cả trò chơi: bấm cờ xanh, lần này kho báu nằm ở một chỗ khác. Ở xa, mèo nói Lạnh. Lại gần hơn: Ấm. Gần nữa: Nóng. Đúng chỗ kho báu: Tìm thấy rồi, và trò chơi dừng.

Bước 33

Các khối mới trong bài

  • Khối khoảng cách đến: cho biết nhân vật cách con trỏ chuột bao nhiêu bước.
  • Khối ẩn: nhân vật biến mất khỏi sân khấu, nhưng chương trình của nó vẫn chạy.

Kỹ thuật lập trình đã học

  • Về kỹ thuật lập trình, bài này ta học: biến dùng chung cho các nhân vật: kho báu ghi biến kc, mèo đọc biến kc.
  • Điều kiện lồng nhau: điều kiện trên sai thì mới xét điều kiện dưới.
  • Thứ tự xét rất quan trọng: từ gần đến xa, dưới 40, dưới 100, dưới 200, rồi còn lại.

Bài tập

Bài tập: khi tìm thấy, cho kho báu hiện ra trên sân khấu. Gợi ý: mèo phát một thông báo, kho báu nhận thông báo thì hiện.

Thú cưng ảo Vẫy tay chơi game: cảm biến video
ZaloCộng đồng hỗ trợ lập trình ScratchCộng đồng hỗ trợ