Cơ bản · Mức 3 · Bài 8

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.
Kết quả cần đạt
Kết quả cần đạt: bấm cờ xanh để chạy thử.
129

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.

Bước 1
229

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.

Bước 2
329

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

Bước 3

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.

429

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

Bước 4
529

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.

Bước 5
629

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.

Bước 6
729

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ước 7
829

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

Bước 8
929

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.

Bước 9
1029

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.

Bước 10
1129

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.

Bước 11
1229

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.

Bước 12

Việc cần làm: nhận thông báo thắng thì dừng chương trình chạy.

1329

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.

Bước 13
1429

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.

Bước 14
1529
Chạy thử

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ước 15
1629

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

Bước 16
1729

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

Bước 17

Việc cần làm: giống mèo, nhưng chạy ở hàng dưới.

1829

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

Bước 18
1929

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,

Bước 19
2029

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,

Bước 20
2129

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ước 21
2229

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

Bước 22
2329

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.

Bước 23
2429

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.

Bước 24
2529

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

Bước 25
2629

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.

Bước 26

Việc cần làm: giống mèo, nhận thông báo thắng thì dừng lại.

2729

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,

Bước 27
2829

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.

Bước 28
2929
Chạy thử

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.

Bước 29

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 !

Mèo bắt được chuột Hát Chúc mừng sinh nhật
ZaloCộng đồng hỗ trợ lập trình ScratchCộng đồng hỗ trợ