HomeLập trình Scratch

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

Like Tweet Pin it Share Share Email
Like và share giúp mình phát triển website nhé.
  •  
  •  

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 Code ngay.

Nội dung bài Game bóng như sau:

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:

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.

 

Comments (0)

Trả lời

Your email address will not be published. Required fields are marked *