Ta hãy hình dung cách cho cá ăn như sau: bạn dùng chuột bấm
vào đâu đó trong "bể cá", tại chỗ được bấm xuất hiện một mẩu
"thức ăn" khiến cá vội vàng lao tới đớp.
Muốn có "thức ăn" trong "bể cá", bạn thử
hỏi bé xem nên làm thế nào. Nếu bắt đầu quen với tư duy lập trình, bé sẽ đề
nghị tạo thêm một nhân vật mới mang tên "Thức ăn". Như vậy, việc cần
làm ngay là vẽ mẩu thức ăn.
Bạn nhắc bé bấm nút Vẽ
nhân vật mới và để bé tự làm mọi việc trong cửa sổ Môi trường vẽ. Để vẽ mẩu thức ăn, chỉ cần tạo một đốm nhỏ là được
(có thể thêm vài chấm nhỏ xung quanh, cho giống vụn bánh mà bé thường thả vào
bể cá thực). Ngoài ra, cần chú ý dùng màu tương phản với bể cá để dễ nhận ra
mẩu thức ăn nằm chỗ nào.
Sau khi bé bấm nút OK
để đóng cửa sổ Môi trường vẽ, bạn
nhắc bé đừng quên đặt tên cho nhân vật mới là Thức ăn (trong ô phía trên khung Hình dạng) và chuyển qua khung kịch bản của Thức ăn để bắt đầu lập trình. Bạn và bé hãy cùng suy nghĩ xem mẩu
thức ăn cần "hành động" ra sao trong "bể cá".
Mẩu thức ăn thuộc loại nhân vật không xuất hiện ngay khi
chương trình bắt đầu. Nghĩa là khi "người nuôi cá" bấm nút "cờ
xanh", mẩu thức ăn phải được giấu đi bằng thẻ lệnh Ẩn. Sau đó, mẩu thức ăn phải "trông chừng", xem
"người nuôi cá" có bấm chuột hay không. Nếu có, mẩu thức ăn nhảy đến
chỗ được bấm và hiện ra. Muốn cho cá biết đến sự tồn tại của mình, mẩu thức ăn
phải phát ra thông báo "ăn" chẳng hạn.
Nghĩ tới chút nữa, bạn thấy rằng mẩu thức ăn cần biến đi khi
cá chạm vào. "Nhiệm vụ" của cá là phải phát ra thông báo
"xong" khi chạm vào mẩu thức ăn. Khi nhận được thông báo
"xong", mẩu thức ăn biến đi bằng thẻ Ẩn. Hình sau thể hiện những "toan tính" vừa nêu trong
kịch bản của nhân vật Thức ăn.
Quan sát hình trên, bạn chú ý màu của các thẻ được dùng để
biết cần lấy thẻ ở các khung chứa thẻ nào. Các thẻ Ấn phím chuột?, Chuột x, Chuột y được lấy ở khung chứa thẻ Giác quan, cho biết phím chuột có được
ấn hay không và tọa độ của con trỏ chuột.
Khi lập trình cho cá, ta đã không tính đến chuyện cá bơi nhanh
đến chỗ có thức ăn. Với "tình hình" mới, bạn có thể hình dung rằng cá
có hai chế độ bơi khác nhau: khi không có thức ăn và khi có thức ăn. Cần có một
biến để thể hiện hai chế độ bơi của cá, đặt tên là an (ăn) chẳng hạn. Bạn hãy tạo ra biến như vậy, có hiệu lực đối với
mọi nhân vật. Bạn thêm các thẻ lệnh quy định trị số cho biến an vào kịch bản của Thức ăn như hình sau (hai thẻ lệnh được đóng khung).
Nhìn vào hình trên, bạn hiểu ngay: biến an có trị là 0 trong trường hợp chưa có thức ăn, cá "được
phép" bơi bình thường. Ngược lại, trong trường hợp có thức ăn, biến an có trị khác 0, cá sẽ không bơi nhởn
nhơ nữa.
Chuyển qua kịch bản của cá, bạn bổ sung các thẻ như hình dưới
đây để tạo ra hai chế độ bơi của cá. Cụm thẻ điều khiển chế độ bơi bình thường
của cá phải được đặt trong thẻ điều kiện Nếu
an = 0. Cụm thẻ Khi tôi nhận thông
báo an nhằm quy định hành động của cá khi thức ăn xuất hiện: cá hướng về
phía thức ăn và lao nhanh theo hướng đó cho đến khi chạm vào thức ăn. Khi cá
chạm vào thức ăn, nó phát đi thông báo "xong" (để thức ăn biến mất).
Ngoài ra, nhìn vào kịch bản của cá ở hình trên, bạn thấy có
thêm thẻ Đặt ra trước. Thẻ đó làm cho
cá luôn ở phía trước, nghĩa là khi cá chạm vào thức ăn, nó sẽ che khuất thức
ăn, làm cho "người nuôi cá" thực sự thấy cá đớp thức ăn.
Bạn hãy mời bé gõ phím Enter và cho cá ăn xem sao. Vui lắm
nha!
NGỌC
GIAO