Điều khiển bốn hướng và biên
Mục tiêu: Điều khiển mèo bằng bốn phím mũi tên trong một vòng lặp: đi mượt, đi chéo được; ra mép phải thì hiện lại ở mép trái.
Em sẽ học gì
- Nội dung trong bài: kiểm tra trạng thái phím liên tục trong vòng lặp, để nhân vật đi mượt và đi chéo được.
- Xử lý biên: ra khỏi mép bên này thì hiện lại ở mép bên kia.

Bài làm như sau. Ở cấp Cơ bản ta dùng bốn khối Khi bấm phím: giữ phím thì mèo khựng một nhịp rồi mới chạy, và không đi chéo được. Nhắc lại: 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.

Việc cần làm: về giữa sân khấu, rồi lặp mãi: phím mũi tên nào đang được bấm thì đi 5 bước theo hướng đó.
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 điểm x y: mặc định x bằng 0, y bằng 0, là giữa sân khấu.

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ên trong, khối điều kiện nếu,

điều kiện là khối phím được bấm, trong nhóm Cảm biến, chọn mũi tên phải.

Khi đó, khối thay đổi x một lượng, trong nhóm Chuyển động, gõ 5: sang phải 5 bước.
Giải thích: Khối phím được bấm cho kết quả đúng khi phím đó đang được giữ. Vòng lặp hỏi lại khối này liên tục.

Thử ngay: bấm cờ xanh rồi giữ phím mũi tên phải: mèo trượt đều sang phải, không khựng.

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

Thêm khối nếu thứ hai, gắn dưới khối nếu thứ nhất,

điều kiện: khối phím được bấm, chọn mũi tên trái.

khối thay đổi x một lượng, gõ âm 5: sang trái.

Khối nếu thứ ba,

điều kiện: khối phím được bấm, chọn mũi tên lên.

lần này là khối thay đổi y một lượng, gõ 5: đi lên.

Khối nếu thứ tư,

điều kiện: khối phím được bấm, chọn mũi tên xuống.

khối thay đổi y một lượng, gõ âm 5: đi xuống. Ta vừa làm: một vòng lặp, bốn khối nếu. Mỗi vòng lặp kiểm tra cả bốn phím, phím nào đang giữ thì đi theo hướng đó.

Chạy thử: bấm cờ xanh, lần lượt giữ phải, lên, trái, xuống: mèo đi mượt theo cả bốn hướng. Giữ hai phím cùng lúc, phải và lên: mèo đi chéo, vì trong một vòng lặp cả hai khối nếu đều đúng. Nhưng giữ phím phải thật lâu thì mèo đi ra ngoài mép sân khấu, gần như mất hút. Ta phải xử lý biên.

Bấm nút đỏ để dừng. Xử lý biên: x lớn hơn 220, tức là quá mép phải, thì đưa mèo về mép trái, x bằng âm 220. Và ngược lại.

Thêm khối nếu thứ năm, gắn dưới khối nếu thứ tư,

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

bên trái thả khối tọa độ x, trong nhóm Chuyển động: mèo đã quá mép phải.

Khi đó, khối đặt x bằng, gõ âm 220: mèo hiện lại ở mép trái.

Khối nếu thứ sáu, cho mép trái,

điều kiện là phép so sánh nhỏ hơn, bên phải gõ âm 220,

bên trái thả khối tọa độ x.

Khi đó, khối đặt x bằng, gõ 220: mèo hiện lại ở mép phải. Ta vừa làm: x lớn hơn 220 thì đặt x bằng âm 220, x nhỏ hơn âm 220 thì đặt x bằng 220.

Chạy thử: bấm cờ xanh rồi giữ phím phải: tới mép phải, mèo hiện lại ở mép trái và đi tiếp. Giữ phím trái: tới mép trái thì hiện lại ở mép phải. Mèo đi vòng quanh sân khấu.

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

Các khối mới trong bài
- Khối phím được bấm: đúng khi phím đó đang được giữ, vòng lặp hỏi lại liên tục.
Kỹ thuật lập trình đã học
- Về kỹ thuật lập trình, bài này ta học: hai cách nhận phím. Sự kiện Khi bấm phím chạy một lần mỗi lần bấm. Kiểm tra trạng thái trong vòng lặp thì hỏi liên tục, nên mượt hơn.
- Các khối nếu nối tiếp nhau là các điều kiện độc lập: nhiều điều kiện có thể cùng đúng, nhờ vậy mới đi chéo được.
- Điều kiện biên: luôn kiểm tra khi giá trị vượt giới hạn, rồi xử lý.
Bài tập
Bài tập: xử lý nốt mép trên và mép dưới với tọa độ y. Rồi thêm phím cách để mèo nhảy lên 30 bước và rơi xuống lại.