Cùng bé lập trình Scratch

Trò chơi "Bóng bàn" (bài 27)

25/11/2013 22:43

Trong trò chơi "bóng bàn" mà bạn và bé đã "dàn dựng", việc tính điểm cho mỗi người chơi chưa được thực hiện. Ta cần tăng điểm cho một người chơi nếu người chơi kia đỡ hụt, để bóng chạm vào biên ngang ở phía sau vợt.


Hiện tại, bóng bật lại ở biên do tác dụng của thẻ lệnh Nếu ở biên, bật lại, bất kể đó là biên nào. Muốn tính điểm cho người chơi, ta cần tìm cách phân biệt biên ngang trên với biên ngang dưới. Phương án đơn giản nhất là vẽ thêm vào hình nền đường biên ngang trên và dưới với màu khác nhau. Chẳng hạn, biên ngang trên màu vàng, biên ngang dưới màu đỏ.

Bạn hãy để bé làm điều đó (bạn chỉ nhắc chừng thôi). Bé chọn Sân khấu trong khung nhân vật, chọn mục Hình nền. Trong khung Hình nền, ta chỉ có một hình nền duy nhất. Bé bấm nút Chỉnh sửa để mở cửa sổ Môi trường vẽ, chọn màu vàng trong bảng màu, chọn Công cụ vẽ hình chữ nhật. Bé cần trỏ vào góc trên, bên trái của sân khấu, giữ phím trái của chuột, kéo chuột qua phải hết mức và xuống dưới một chút, rồi buông phím trái của chuột, tạo ra một dải màu vàng nằm ngang ở sát cạnh trên sân khấu. Tương tự, bé chọn màu đỏ ở bảng màu và vẽ dải màu đỏ ở sát cạnh dưới sân khấu.

Sau khi bé bấm nút OK để đóng cửa sổ Môi trường vẽ, bạn hãy đề nghị bé tạo ra hai biến diem1diem2 để ghi điểm cho hai người chơi (Vot1Vot2). Nếu bé quên cách tạo biến, bạn hướng dẫn bé chuyển qua khung chứa thẻ Các biến, bấm nút Tạo một biến để mở cửa sổ Tên biến, gõ tên biến và bấm nút OK.

Khi biến mới được tạo ra, bảng hiển thị trị số của biến đó tự động xuất hiện trên sân khấu. Bé có thể kéo bảng đó đặt vào chỗ tùy ý, như trong hình sau chẳng hạn.

Bạn chuyển qua khung kịch bản của quả bóng (bấm vào Bong trong khung nhân vật, chọn mục Kịch bản) và hướng dẫn bé lắp ráp thêm một cụm thẻ như hình dưới đây. Quan sát hình đó, bạn thấy sau khi trò chơi bắt đầu, một vòng lặp được tạo ra và hoạt động cho tới khi trị của biến diem1 hoặc diem2 là 20. Vòng lặp liên tục thực hiện việc kiểm tra để biết bóng có chạm vào đường biên ngang nào không. Nếu bóng tiếp xúc với màu vàng (chạm vào biên ngang trên), trị của biến diem1 tăng thêm 1 (điểm cho người chơi Vot1 ở phía dưới). Nếu bóng tiếp xúc với màu đỏ (chạm vào biên ngang dưới), trị của biến diem2 tăng thêm 1 (điểm cho người chơi Vot2 ở phía trên).

Khi biến diem1 hoặc diem2 đạt tới trị số 20, vòng lặp thôi hoạt động và trò chơi kết thúc nhờ thẻ Dừng toàn bộ. Dĩ nhiên, bạn tùy ý quy định điểm tối đa (sửa số 20 thành số khác).

Để có đoạn kịch bản như hình trên, bé cần lấy thẻ Tiếp xúc màu ở khung chứa thẻ Giác quan. Sau khi lắp thẻ Tiếp xúc màu vào ô điều kiện của thẻ Nếu, bé bấm vào ô màu của thẻ Tiếp xúc màu (con trỏ chuột biến thành "ống hút màu"), rồi bấm vào vạch biên (vàng hoặc đỏ) trên sân khấu để xác định màu.

Gõ phím Enter để chơi thử, bạn sẽ nhanh chóng phát hiện điều chưa hợp lý của kịch bản: khi bóng chạm vào vạch biên vàng hoặc đỏ, nó tiếp tục "dấn tới", làm cho điểm của "phía bên kia" tăng vọt. Để cho công bằng, khi bóng chạm vạch biên ngang, nó phải bật lại ngay, điểm chỉ tăng thêm 1 cho một lần chạm biên ngang.

Muốn vậy, bạn hãy thêm thẻ Hướng chuyển động như trong hình dưới đây để bóng đổi hướng ngược lại khi chạm biên ngang. Nhân tiện, bạn nên cho phát ra âm thanh chi đó khi xảy ra trường hợp chạm biên ngang (dùng thẻ Chơi âm thanh). Ngoài ra, bạn đừng quên gán trị 0 cho biến diem1diem2 (dùng thẻ Thiết đặt) khi trò chơi bắt đầu vì bạn và bé chắc chắn sẽ chơi nhiều ván liên tiếp!

"Sửa sang" kịch bản như vậy là ổn rồi đó. Bạn bấm nút Chuyển sang chế độ trình chiếu (góc trên, bên phải sân khấu) để chuyển qua chế độ hiển thị "toàn màn hình". Bạn và bé hãy vào "vị trí thi đấu", rồi gõ phím Enter để bắt đầu. Khi trò chơi kết thúc, để trở lại cửa sổ Scratch, bạn chỉ việc gõ phím Esc.

NGỌC GIAO


Bài liên quan:
Ý kiến bạn đọc (0)
Tên   Email

Lên đầu trang