Search

Lệnh điều kiện trong Scratch

  • Share this:
Lệnh điều kiện trong Scratch

Trong cuộc sống hàng ngày, chúng ta luôn phải cân nhắc về việc khi nào thì nên ăn gì, nên nói gì, nên làm gì đó… và để có thể đưa ra quyết định, ta sẽ sẽ đưa ra các điều kiện để đánh giá. Ví dụ như nếu hôm nay mưa bão thì tôi sẽ nghỉ làm hoặc nếu có đủ tiền, tôi sẽ mua một chiếc xe máy, v.v.
Trong ngôn ngữ lập trình cũng tồn tại cấu trúc điều kiện tương tự như câu điều kiện mà thường ngày ta vẫn hay sử dụng. Chúng có vai trò kiểm tra điều kiện, điều khiển luồng, phân nhánh, xử lý lỗi và tối ưu hóa chương trình. Người lập trình sẽ chỉ định cho một hoặc nhiều điều kiện được đưa ra và  chương trình sẽ tiến hành việc đánh giá, kiểm tra điều kiện (kiểm tra tính đúng sai) sau đó có sự điều hướng dựa trên kết quả đánh giá điều kiện.
Ví dụ như khi chúng ta đăng nhập vào một trang web, nếu mật khẩu nhập vào là đúng thì chúng ta sẽ được chuyển đến trang quản trị, còn nếu sai thì chúng ta sẽ phải nhập lại.

LỆNH ĐIỀU KIỆN TRONG SCRATCH

Trong Scratch, lệnh điều kiện bao gồm 2 khối lệnh là If-Then (Nếu-Thì)If-Then-Else (Nếu-Thì-Nếu không thì). 
 

image-20.png

Sơ đồ dưới đây có thể giúp các bạn hình dung ra nguyên lý hoạt động của 2 câu lệnh trên. 

image-21.png

Với khối lệnh Nếu-Thì, chương trình sẽ tiến hành kiểm tra điều kiện. Nếu điều kiện là đúng, chương trình sẽ thực hiện câu lệnh sau phần “Thì”, ngược lại, câu lệnh đó bị bỏ qua. 
Còn đối với khối Nếu-Thì-Nếu không thì, nếu điều kiện được thỏa mãn, tức kết quả trả về là Đúng thì chương trình sẽ thực hiện câu lệnh 1, ngược lại, chương trình sẽ thực hiện câu lệnh 2. 
Trong lập trình vốn không tồn tại những khái niệm tương đối hay không thể đo lường được nên các câu lệnh điều kiện yêu cầu các điều kiện được thỏa mãn bằng giá trị Đúng hoặc Sai.
Để xây dựng một điều kiện, chúng ta sử dụng các câu lệnh thuộc khối Cảm biến và khối Các phép toán hoặc chúng ta có thể nhận biết khối có thể sử dụng được là các khối có hình lục giác.
Đối với khối Cảm biến, câu lệnh phổ biến nhất mà chúng ta hay sử dụng là đang chạm con trỏ chuộtđang chạm màu. Ta sử dụng khối đang chạm con trỏ chuột khi muốn kiểm tra xem nhân vật này có đang tiếp xúc với đồ họa khác hay không và nếu có thì sẽ thực hiện công việc gì. Ngoài các nhân vật khác trong chương trình, chúng ta có thể lựa chọn đối tượng kiểm tra tiếp xúc là con trò chuột hoặc cạnh. 
Ví dụ như trong trò chơi đuổi bắt, khi muốn cho chú chó chạy liên tục theo chú chuột cho đến khi chạm được vào chú chuột mới dừng lại, ta sử dụng khối Nếu-Thì. Lúc này, chú chó sẽ không ngừng di chuyển và chỉ dừng lại khi chạm được vào chuột, nếu không thì chương trình vẫn sẽ tiếp tục.
 

image-23.png

Một khối cảm ứng khác cũng thường hay được dùng là khối đang chạm màu. Thông thường, trong trò chơi, chúng ta sẽ dùng khối này khi muốn kiểm tra xem nhân vật có đang chạm vào khu vực có màu sắc nào đó hay không. Ví dụ như trong trò chơi Đua thuyền, ta dùng khối đang chạm màu để đặt điều kiện nếu chiếc thuyền chạm vào hai bên bờ có màu xanh lá cây thì trò chơi sẽ kết thúc 

image-24.png

Và để chọn được chính xác màu sắc, ta sẽ dùng công cụ bút chọn màu, sau đó click vào vùng có màu muốn chọn trong sân khấu

image-25.png

Bên cạnh các khối cảm ứng thì khối Các phép toán cũng là thành phần chính để tạo nên câu lệnh điều kiện trong Scratch

image-26.png

Trường hợp thông dụng nhất khi dùng tới các phép toán trong câu điều kiện là khi tính điểm trò chơi.
Ví dụ, như trong trò chơi Đua thuyền vừa rồi, ta muốn đặt mốc điểm chiến thắng là 20. Vậy chương trình sẽ được diễn ra liên tục cho tới khi nào điểm số là 20 thì mới phát tin Chiến thắng và dừng chương trình lại.

image-27.png

Hoặc các câu lệnh trong khối Các phép toán cũng giúp chúng ta cũng có thể đồng thời đưa ra nhiều điều kiện để kiểm tra thay vì chỉ dùng một điều kiện. Ví dụ như ở phía trên, chúng ta đã đặt điều kiện là nếu chiếc thuyền chạm vào hai bên bờ thì trò chơi sẽ kết thúc nhưng giờ chúng ta muốn thêm một điều kiện thua cuộc là nếu chiếc thuyền chạm vào tảng đá, ta có thể sử dụng khối “… hoặc …” như bên dưới

image-28.png

Lúc này, chương trình sẽ liên tục kiểm tra 2 điều kiện trên và chỉ cần 1 điều kiện được thỏa mãn thì chương trình sẽ lập tức dừng lại.

Các bạn có để ý rằng trong các ví dụ ở trên, khối Nếu-Thì lại được bọc bằng khối Liên tục hay không? Nguyên nhân của việc này là do chúng ta muốn liên tục kiểm tra điều kiện có được thỏa mãn hay không. Nếu không sử dụng khối Liên tục, kịch bản sẽ chỉ chạy một lần duy nhất khi ta nhấp chuột vào lá cờ xanh. Đó là một điểm cần lưu ý khi thực hiện các dự án Scratch.

Hướng dẫn thực hiện trò chơi Đua thuyền

Trò chơi sẽ gồm 2 nhân vật chính là chiếc thuyền đua và tảng đá chướng ngại vật. Nhiệm vụ của người chơi là điều khiển chiếc thuyền tránh các tảng đá và nếu chiếc thuyền có va chạm với chướng ngại vật hoặc hai bên bờ thì trò chơi sẽ kết thúc
Phông nền  
Do thư viện không có sẵn hình ảnh phù hợp nên ta sẽ dùng công cụ vẽ để tạo hình nền cho chương trình. Ta sẽ tạo 2 hình nền là hình nền chính của trò chơi và hình nền kết thúc trò chơi

image-29.png


 

image-30.png

Thuyền đua  
Ta sẽ dùng công cụ vẽ tạo nhân vật chiếc thuyền. Vì trong trò chơi, chiếc thuyền sẽ có hoạt động di chuyển trái, phải nên ta sẽ tạo thêm 2 trang phục nghiêng trái và nghiêng phải để tạo hiệu ứng di chuyển

image-31.png

Khi bắt đầu trò chơi, chiếc thuyền sẽ xuất hiện từ vị trí cuối sân khấu và có thể di chuyển lên, xuống, trái, phải khi nhấn phím. Nếu chiếc thuyền chạm vào tảng đá chướng ngại vật hoặc chạm vào 2 bên bờ thì trò chơi sẽ lập tức dừng lại.
Dưới đây là mã lập trình tham khảo cho nhân vật chiếc thuyền
 

image-32.png

Chướng ngại vật  
Trong trò chơi, những tảng đã sẽ liên tục xuất hiện từ phía trên và di chuyển dần xuống phía cuối sân khấu. Để các nhân vật xuất hiện liên tục, ta sẽ sử dụng tới câu lệnh tạo bản sao của nhân vật thay vì phải tạo ra nhiều nhân vật.
Dưới đây là mã lập trình tham khảo cho nhân tảng đá

image-33.png

CNET ACADEMY hi vọng qua bài viết trên, các bạn đã phần nào nắm được chức năng và cách sử dụng các câu lệnh điều kiện trong Scratch để từ đó có thể tạo ra những chương trình thú vị cho riêng mình.

Ánh Trần

Ánh Trần