Lập trình Scratch viết Game bóng – Đề thi tin học trẻ Nghệ An 2019

Trong đề thi tin học trẻ Nghệ An 2019 có bài Game bóng đang được rất nhiều các bạn bàn luận mấy ngày nay. Mình cũng rất hứng thú và lập tức bắt tay vào tham khảo cách làm trò chơi đá bóng trên scratch. Hãy tham khảo với onthihsg ngay bên dưới nhé.

Video hướng dẫn cách làm trò chơi đã bóng trên scratch

Nội dung cách làm trò chơi đá bóng trên scratch

Bạn hãy thiết kế trò chơi Game bóng có giao diện như hình sau:

Yêu cầu:

Khi người chơi nháy chuột liên tiếp lên hai quả bóng cùng màu thì ồ lạ thay 2 quả bóng đó sẽ biến mất, nếu nháy chuột liên tiếp lên 2 quả bóng không cùng màu thì 2 quả bóng này giữ nguyên trạng thái.

Khi tất cả các trái bóng trên màn hình biến mất thì thông báo Game Win.

Code bài game bóng lần thứ nhất và cái kết

Bắt tay ngay vào phân tích một hồi và bắt đầu kéo thả cuối cùng mình cũng cho ra video hướng dẫn làm game bóng dưới đây

Tưởng là ngon lành cành đào rồi nhưng khi chạy thì mới phát hiện ra một lỗi đó là khi ta nhắp vào một trái banh ở một bên (bên trái chẳng hạn) thì biến i sẽ lưu giá trị là số thứ tự của trái banh đó (ví dụ nhắp trái màu hồng i = 3). tiếp theo nếu ta nhắp trái màu hồng bên phải thì hai trái sẽ mất đi, đúng yêu cầu không có gì phải bàn cãi cả.

Nhưng nếu ta nhấp trái màu xanh bên phải trước sau đó mới nhấp trái màu hồng thì hai trái vẫn mất đi (i = j = 3) Có nghĩa là trường hợp này bị sai rồi.

Vậy là lại lập tức tìm cách sửa lỗi cho code thôi.

Lần 2 sửa bài game bóng thật OK

Bây giờ thay vì dùng biến i và j để lưu thứ tự của trái banh trong hai cột, mình sẽ dùng hai biến này để lưu vị trí của hai trái banh nhấp vào gần nhất với đoạn mã như sau:

Lập trình Scratch viết Game bóng - Đề thi tin học trẻ Nghệ An 2019

Như vậy thì dù bạn nhấp vào hai trái banh bên nào đi nữa thì hai biến i, j vẫn đảm bảo lưu hai số là số thứ tự của hai trái banh nhắp gần nhất.

Trên đây chỉ là một đoạn lệnh mà thôi để hiểu rõ hơn mời các bạn xem video:

Tuy nhiên thú thật là bài này mình code nhưng vẫn không ưng lắm vì phải nhân bản bằng tay ra nhiều trái banh.

Mình muốn là chỉ có 1 đối tượng trái banh duy nhất thôi sau đó dùng code nhân bản ngay trong chương trình cơ. Tuy nhiên làm như vậy có vẻ sẽ khó khăn hơn rất nhiều.

Bạn nào xem thấy mệt quá thì ra quán làm bát phở truyền thống Việt Nam cho đỡ mệt đi nha.

Quả thật đề Nghệ An khó quá phải không các bạn.