Cuộc đua về đích
Mục tiêu: Hai nhân vật chạy đua, ai về đích trước nói Tôi thắng và nhân vật kia dừng lại.
Em sẽ học gì
- Nội dung trong bài: số ngẫu nhiên cho bước chạy.
- Vòng lặp có điều kiện: lặp lại cho đến khi về đích.
- Phát thông báo cho nhân vật kia biết.

Bài làm như sau. Đặt mèo ở vạch xuất phát hàng trên: x bằng âm 150, y bằng 100.

Thêm người chạy thứ hai: bấm nút Chọn một Nhân vật, gõ Monkey vào ô tìm kiếm, rồi chọn chú khỉ. Đặt chú khỉ ở hàng dưới: x bằng âm 150, y bằng âm 80.

Làm cho mèo trước. Chọn nhân vật Sprite1.

Việc cần làm: về vạch xuất phát, chạy tới mép phải, mỗi lần đi 1 đến 20 bước; về đích thì nói và báo.
Chọn nhóm Sự kiện, kéo khối: Khi bấm vào cờ xanh,

Chọn nhóm Chuyển động, gắn khối đi tới x y: mặc định đúng chỗ xuất phát,
Giải thích: Khối đi tới x y đưa nhân vật tới đúng điểm có toạ độ x, y trên sân khấu.

khối vòng lặp có điều kiện, lặp lại cho đến khi, trong nhóm Điều khiển,
Giải thích: Khối lặp lại cho đến khi là vòng lặp có điều kiện: chạy các khối bên trong, và chỉ dừng khi điều kiện trở thành đúng.

ghép khối đang chạm vào ô điều kiện, chọn cạnh: chạy cho đến khi chạm cạnh phải sân khấu, tức là về đích.

Bên trong, khối di chuyển 10 bước,

thả khối chọn số ngẫu nhiên vào ô số bước: mỗi lần đi một số bước khác nhau, đổi số lớn nhất thành 20: mỗi lần đi từ 1 đến 20 bước.
Giải thích: Khối chọn ngẫu nhiên cho một số bất kỳ trong khoảng đã đặt, mỗi lần chạy ra một số khác.

Thêm khối chờ, trong nhóm Điều khiển, đổi thành 0,1 giây: mỗi bước cách nhau một chút, để ta thấy hai bên lúc nhanh lúc chậm.

Khi về đích, khối nói, nằm sau vòng lặp, gõ Tôi thắng!
Giải thích: Khối nói hiện lời nói và giữ mãi, không tự biến mất như khối nói trong số giây.

rồi khối phát thông báo, trong nhóm Sự kiện: báo cho nhân vật kia biết đã có người về đích. Bấm vào ô thông báo, chọn Thông báo mới, đặt tên là thắng. Ta vừa làm: về vạch xuất phát, lặp cho đến khi chạm cạnh: đi bước ngẫu nhiên; về đích thì nói và báo thắng.
Giải thích: Khối phát thông báo gửi một lời nhắn tới mọi nhân vật, để các nhân vật phối hợp với nhau.

Việc cần làm: nhận thông báo thắng thì dừng chương trình chạy.
Chương trình thứ hai: khối Khi nhận được thông báo, chọn thông báo thắng,
Giải thích: Khối Khi nhận được thông báo chạy các khối bên dưới khi nhân vật nghe thấy thông báo đã chọn.

rồi khối dừng lại, trong nhóm Điều khiển, chọn dòng other scripts in sprite: dừng các kịch bản khác của nhân vật, nên người thua dừng chạy. Ta vừa làm: khi nhận thông báo thắng thì dừng chương trình chạy đua của nhân vật này.

Thử ngay mèo: bấm cờ xanh, mèo chạy tới mép phải rồi nói Tôi thắng.

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

Làm tương tự cho chú khỉ. Chọn nhân vật Monkey.

Việc cần làm: giống mèo, nhưng chạy ở hàng dưới.
Kéo khối Khi bấm vào cờ xanh,

Chọn nhóm Chuyển động, gắn khối đi tới x y: mặc định đúng chỗ xuất phát,

khối vòng lặp có điều kiện, lặp lại cho đến khi, trong nhóm Điều khiển,

ghép khối đang chạm vào ô điều kiện, chọn cạnh: chạy cho đến khi chạm cạnh phải sân khấu, tức là về đích.

Bên trong, khối di chuyển 10 bước,

thả khối chọn số ngẫu nhiên vào ô số bước: mỗi lần đi một số bước khác nhau, đổi số lớn nhất thành 20: mỗi lần đi từ 1 đến 20 bước.

Thêm khối chờ, trong nhóm Điều khiển, đổi thành 0,1 giây: mỗi bước cách nhau một chút, để ta thấy hai bên lúc nhanh lúc chậm.

Khi về đích, khối nói, nằm sau vòng lặp, gõ Tôi thắng!

rồi khối phát thông báo, trong nhóm Sự kiện: báo cho nhân vật kia biết đã có người về đích. Chọn thông báo thắng đã tạo. Ta vừa làm: về vạch xuất phát, lặp cho đến khi chạm cạnh: đi bước ngẫu nhiên; về đích thì nói và báo thắng.

Việc cần làm: giống mèo, nhận thông báo thắng thì dừng lại.
Chương trình thứ hai: ta dùng khối Khi nhận được thông báo, chọn thông báo thắng,

rồi khối dừng lại, trong nhóm Điều khiển, chọn dòng other scripts in sprite: dừng các kịch bản khác của nhân vật, nên người thua dừng chạy. Ta vừa làm: khi nhận thông báo thắng thì dừng chương trình chạy đua của nhân vật này.

Chạy thử: bấm cờ xanh. Mỗi lần hai bên đi số bước khác nhau; ai về đích trước nói Tôi thắng, người kia dừng.

Các khối mới trong bài
- Khối đi tới x y: đưa nhân vật tới đúng điểm có toạ độ x, y trên sân khấu.
- Khối lặp lại cho đến khi: vòng lặp có điều kiện: chạy các khối bên trong, và chỉ dừng khi điều kiện trở thành đúng.
- Khối chọn ngẫu nhiên: cho một số bất kỳ trong khoảng đã đặt, mỗi lần chạy ra một số khác.
- Khối nói: hiện lời nói và giữ mãi, không tự biến mất như khối nói trong số giây.
- Khối phát thông báo: gửi một lời nhắn tới mọi nhân vật, để các nhân vật phối hợp với nhau.
- Khối Khi nhận được thông báo: chạy các khối bên dưới khi nhân vật nghe thấy thông báo đã chọn.
Kỹ thuật lập trình đã học
- Về kỹ thuật lập trình, bài này ta học: số ngẫu nhiên: mỗi lần chạy ra một số ngẫu nhiên khác nhau.
- Vòng lặp có điều kiện: lặp cho đến khi điều kiện đúng, phân biệt với vòng lặp theo số lần.
- Phát thông điệp: một nhân vật phát thông báo, nhân vật khác nhận được và phản ứng.
- Lập trình song song: mèo và khỉ chạy cùng lúc, mỗi bên có chương trình riêng.
Bài tập
Bài tập, thêm nhân vật thứ ba. Thử áp dụng sao chép chương trình giống nhau !