Bài viết này sẽ hướng dẫn các bạn lập trình game scratch Phá gạch.
Chuẩn bị sprite
Ở game này, chúng ta sẽ tự thiết kế 3 sprites: paddle (thanh đỡ bóng), ball (quả bóng), và brick (viên gạch).
Hướng dẫn vẽ Paddle (Thanh đỡ bóng)
Trong game không sử dụng sprite mèo (hiển thị mặc định), nên bấm nút xoá ở góc
Rê trỏ chuột vào biểu tượng Choose a Sprite
Chọn Paint để bắt đầu vẽ. Đặt tên cho sprite là Paddle
Hãy vẽ 3 customes như hình dưới đây, đặt tên lần lượt là normal, left, right. Vậy là prite paddle sẽ có 3 customes nhé!
Chọn chế độ Convert to bitmap trước khi bắt đầu vẽ. Lưu ý chiều dài của paddle khoảng 60, chiều rộng khoảng 15 là phù hợp. Paddle càng ngắn càng khó đỡ bóng.
Hướng dẫn vẽ Ball (quả bóng)
Quay trở lại tab code, tiếp tục chọn Choose a sprite -> Paint, đặt tên sprite là Ball, để bắt đầu vẽ quả bóng, kích thước khoảng 18×18 là phù hợp.
Sau khi vẽ xong, chọn công cụ Select, chọn quả bóng, kéo rê vào vị trí trung tâm.
Hướng dẫn vẽ Viên gạch
Trong game này chỉ cần vẽ 1 viên gạch, khi lập trình sẽ dùng lệnh clone để tạo nên những viên gạch khác.
Để biết được kích thước viên gạch, tính toán như sau:
Bề rộng của màn hình là 480 (toạ độ x từ -240 đến 240, tổng là 480). Trong 480 này sẽ dùng để xếp cách dãy gạch.
420 / 8 = 60. Như vậy bề rộng viên gạch nên là 50 + khoảng cách giữa 2 viên gạch 10 = 60. Xếp thành 8 cột.
Bề rộng 20, khoảng cách giữa 2 hàng là 10 = tổng 30. (lưu ý để change y = -30). Có thể xếp thành 4 hàng gạch (ít hoặc nhiều hơn tuỳ lựa chọn).
Vậy sẽ vẽ viên gạch với kích thước 50 x 20.
Sau đó, lập trình xếp thành 7 cột, 4 hàng, khoảng cách giữa lề trái phải là 30. Khoảng cách giữa 2 viên gạch là 10.
Vào Choose a prite -> Paint -> Đặt tên Brick -> Convert to Bitmap, để bắt đầu vẽ viên gạch.
Ngoài ra, cần vẽ thêm 2 prites: Game over và You win. Sử dụng chức năng Text (bấm vào chữ T) để vẽ. Các bước thực hành tương tự các sprite trên.
Có thể tải bản vẽ mẫu các sprite trên tại đây.
Bắt đầu lập trình game Phá tường gạch
Lập trình Paddle (thanh đỡ bóng)
Trong game này, Paddle không di chuyển lên xuống, mà chỉ di chuyển sang trái, sang phải. Do đó, sẽ cố định toạ độ y, thay đổi toạ độ x.
Sử dụng lệnh set y to -140 để cố định toạ độ y.
Sử dụng lệnh change x by 10 để di chuyển sang phải, change x by = – 10 để di chuyển sang trái.
Đồng thời, switch costume to right khi di chuyển sang phải để chuyển costume ánh mắt hướng sang phải và switch costume to left khi di chuyển sang trái. Khi không bấm phím nào sẽ switch costume to normal.
Lập trình Ball (quả bóng)
Khi bắt đầu, Quả bóng hướng chéo xuống dưới phía Paddle, đợt 1 giây để người chơi chuẩn bị, và bật nảy khi chạm cạnh màn hình.
Đồng thời khi chạm Paddle, quả bóng sẽ bật nảy theo hướng: 180 – direction. Sử dụng broadcast bounce và when I receive bounce, để lập trình.
Lưu ý vào Motion để tìm lệnh direction
Lập trình Brick (viên gạch)
Theo tính toán kích thước gạch ở trên, ta sẽ xếp thành 8 cột và 4 dãy. Khoảng cách giữa các viên gạch là 10. Sử dụng change x by 60 (do chiều rộng viên gạch là 50) và change y by -30 (do chiều cao viên gạch là 20) để sắp xếp gạch.
Khi Quả bóng chạm vào clone của viên gạch, quả bóng sẽ bật nảy tương tự như chạm vào paddle. Đồng thời xoá clone này khi quả bóng chạm vào (delete this clone)
Lập trình tính điểm
Khi quả bóng chạm vào mỗi viên gạch, sẽ được tính 01 điểm. Tạo biến Variables -> Make a variable -> Đặt tên biến là score.
Trong sprite brick trên, bổ sung thêm lệnh set score to 0 khi bắt đầu, và change score by 1 khi chạm quả bóng.
Lập trình Game over
Bổ sung dòng lệnh cho sprite Ball (quả bóng). Khi Paddle đỡ trượt quả bóng, quả bóng sẽ đi xuống phía dưới paddle, đồng nghĩa với toạ độ quả bóng < -140. Do ở trên đã cố định toạ độ paddle là set y by -140.
Khi toạ độ quả bóng <-140, sẽ broadcast game over. Chọn prite Ball, bổ sung thêm những dòng lệnh này:
Sau đó chuyển sang sprite Game over, để lập trình hiệu ứng cho sprite này. Khi bắt đầu sprite này sẽ ẩn (hide), khi nào nhận được lệnh game over (do sprite quả bóng <-140), sẽ hiển thị sprite game over. Đồng nghĩa với hiển thị dòng chữ game over trên màn hình.
Lập trình You win
Chọn sprite You win đã vẽ ở trên để bắt đầu lập trình cho sprite này.
Tổng cộng có 8 x 4 = 32 viên gạch. Vậy khi số điểm score = 28 sẽ hiển thị sprite you win này.
Vậy là đã hoàn chỉnh game Phá gạch – Brick Breaker. Cùng chơi thử nhé!
Bạn có thể bổ sung âm thanh, hiệu ứng để game của mình thêm hấp dẫn!