Hướng dẫn viết trò chơi chọn màu đúng bằng scratch

Like Tweet Pin it Share Share Email

Tiếp tục mình sẽ chia sẻ với các bạn cách viết trò chơi chọn màu đúng bằng scratch trong 50 bài tập lập trình scratch, bài tập này mình đã mất rất nhiều thời gian để tìm ra lời giải và qua lập trình trò chơi chọn màu đúng này mình cũng học được rất nhiều kinh nghiệm lập trình Scratch.

Chơi thử để hiểu rõ hơn về trò chơi đã nhé:

Ý tưởng thuật toán trò chơi chọn màu đúng bằng scratch

  • Mình sẽ dùng dữ liệu kiểu “Danh sách” nó giống như một biến mảng trong các ngôn ngữ lập trình khác để lưu danh sách các màu.
  • Do mình bồi dưỡng HSG Pascal đã quen hay dùng kĩ thuật đánh dấu mảng trong lựa chọn nên mình quyết định sử dụng kĩ thuật này vào Scratch xem sao.
    Bởi trong chương trình sẽ phải chọn ra 3 màu ngẫu nhiên trong danh sách các màu nên mình sẽ dùng một biến mảng “Danh sách” khác có cùng số phần tử với biến danh sách lưu các màu, giá trị là 0 hoặc 1 ứng với hai trạng thái chưa chọn và đã chọn.

Thôi mình chỉ nêu qua ý tưởng như thế, còn lại các bạn xem tiếp chia sẻ phía dưới sẽ dễ hiểu hơn

Các bước dùng Scratch viết trò chơi chọn màu cho các em mẫu giáo

Bước 1: Xây dựng nhân vật

Như yêu cầu của đề mình xây dựng hai nhân vật chính là Cô Mai và Hình tròn.

Nhân vật Cô Mai thì các bạn lấy trong thư viện và cứ để nguyên hình dạng như vậy.

Riêng nhân vật hình tròn các bạn tự vẽ hình tròn sau đó nhân bản để tạo 10 trang phục, đổ màu 10 trang phục khác nhau ứng với 10 màu bạn chọn

Bước 2: Từng bước lập trình cho hai đối tượng

1. Xây dựng bảng màu

Đầu tiên ta tạo một biến mảng (Danh sách) đặt tên là “Bảng màu” sau đó viết một thủ tục xây dựng bảng màu trong đối tượng Cô Mai như sau:

Nếu bạn chưa biết cách tạo thủ tục (chương trình con) vui lòng đọc lại bài viết: Cách tạo thủ tục trong Scratch

Lưu ý: Thứ tự các màu bạn phải xây dựng đúng thứ tự các màu trong đối tượng “hình tròn

Chạy thử và cho hiện bảng màu ra màn hình bạn sẽ thấy kết quả như trên.

2. Tiến hành đánh dấu 3 màu ngẫu nhiên

À trong chương trình này bạn cần lưu ý là đưa ra 3 trái bóng có 3 màu ngẫu nhiên trong bảng màu nhưng cũng phải thỏa mãn hai điều kiện sau:

  • 1 màu Cô Mai đố
  • 3 màu phải khác nhau

Đúng không các bạn, nếu không thì chương trình dễ viết nhưng sẽ rất dở

Bây giờ ta tạo một danh sách (mảng) đặt tên là “đánh dấu” và tiến hành lập trình tạo ra mảng đánh dấu trong đối tượng cô giáo như sau:

Ý nghĩa các lệnh lần lượt như sau:

  • Bạn phải tạo một mảng gép đặt tên “đánh dấu 3 số ngẫu nhiên”
  • Vòng lặp giúp tạo ra số phần tử dúng bằng số phần tử trong “danh sách màu” các phần tử đều là 0 (chưa chọn được màu nào)
  • Đặt phần tử thứ “màu hỏi” (đây là biến lưu số thứ tự màu mà cô giáo hỏi, bạn sẽ gặp lại sau) là 1 (chọn màu cô giáo đố)
  • Các lệnh tiếp theo giúp ta chọn đủ 2 màu khác và trong 3 màu không có bất kì màu nào trung nhau

Sau khi lập trình xong chạy thử bạn sẽ được kết quả dạng như sau:

Ok và bây giờ là đoạn chương trình chính viết cho nhân vật Cô giáo như sau:

Tại sao lại có thông báo chơi lại, thông báo này giúp lặp lại chương trình tí nữa mình sẽ giải thích rõ hơn.

Vây là mình đã hoàn thành lập trình cho nhân vật Cô giáo, bây giờ sẽ là phân lập trình cho hình tròn

3. Lập trình cho đối tượng hình tròn

Mình đã loay hoay tìm giải pháp để lập trình cho hình tròn mất rất nhiều công sức. Lúc đầu đọc đề toán mình thấy chỉ có hai nhân vật đường tròn và cô giáo, nhưng trong chương trình khi chạy lại xuất hiện 3 hình tròn vì vậy mình đã sử dụng việc nhân bản đường tròn bằng lệnh “tạo bản sao” trong quá trình chạy chương trình, tuy nhiên mình loay hoay mãi mà vẫn không tìm ra cách lấy được màu mà người chơi chọn, câu “Chương trình có 2 nhân vật chính” trong đề bài đã “cứu mình”

Và bây giờ mình chọn giải pháp “nhân bản thêm hai đối tượng hình tròn” để có 3 đối tượng hình tròn như sau:

À trước khi bạn nhân bản bạn hãy lập trình cho hình tròn 1 cái đã, nếu đã chót nhân bản rồi thì xóa đi để viết xong code thì nhân bản lại cho đỡ mất thời gian nhé

Nhân bản sang đường tròn 2 và sửa lại code một chút để thành như sau:

Và cuối cùng là nhân bản sang tròn 3 và chỉnh sửa thành:

Rối quá phải không các bạn mình xin giải tích tổng quan cả chương trình như sau:

Sau khi nhân vật cô giáo đưa ra câu hỏi (hệ thống đã chọn được 3 màu ngẫu nhiên)

-> Chuyển sang đường tròn 1 (bằng cặp lệnh: “Thông báo sang tròn 1” ở cuối code trong cô giáo và “khi tôi nhận được thông báo sang tròn 1” ở đầu code trong hình tròn 1

-> Tròn 1 xử lí xong -> tròn 2 -> tròn 3 (kết thúc) -> Kết luận -> chơi lại

Chọn 1, chọn 2, chọn 3: là 3 biến trung gian giúp lưu lại số chỉ màu mà chúng hiển thị ra màn hình

Đoạn lệnh “Khi đối tượng này được nhắp vào” trong cả 3 hình tròn, giúp đặt biến “lựa chọn” là kết quả mà người chơi đoán bằng cách nhắp chuột để chọn. Cuối khối lệnh là “Thông báo kết luận”

Và bây giờ là code khi gặp thông báo “kết luận”

Nó có nhiệm vụ kiểm tra xem người dùng chọn có đúng với cô đưa ra không, cuối cùng là thông báo “chơi lại” để chương trình đưa ra câu hỏi tiếp theo.

Ok vậy là xong rồi nhé, mệt quá!, nếu thấy có ích cho bạn đừng tiếc một comment, chia sẻ bài viết đến các bạn khác nhé. Chúc các bạn thành công và có nhiều sáng tạo hơn khi lập trình Scratch.

Các bạn hãy sớm quay lại để xem tiếp bài tập tiếp theo

Xem file Word hướng dẫn

Comments (5)

Trả lời

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