Scratch: Bài 3. Mèo bắt bóng

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

I. MỤC ĐÍCH

Sau khi học xong bài này, em sẽ biết cách thực hiện một số lệnh trong nhóm lệnh Motion, đồng thời em cũng biết cách sử dụng điều kiện if, vòng lặp forever và một số lệnh khác. Và em cũng sẽ làm được project Mèo bắt bóng.

II. KHỞI ĐỘNG

Trước tiên chúng ta cần làm quen với khái niệm "Điều kiện" và "Vòng lặp". Trong lập trình, "Điều kiện" được dùng để kiểm tra một điều gì đó có thỏa mãn theo mong muốn hay không, còn "Vòng lặp" dùng để thực hiện một khối lệnh nào đó lặp đi lặp lại nhiều lần.

III. BẮT ĐẦU BÀI HỌC

1. KÍCH THƯỚC SÂN KHẤU

Scratch 3.0: Sân khấu

Mô tả:

- Sân khấu có kích thước chiều ngang (trục x) là 480, kích thước chiều dọc (trục y) là 360

- Tâm của sân khấu là điểm có tọa độ (x:0, y:0)

- Đi sang phía bên trái là đi theo chiều ngang âm, tức là giá trị của x sẽ giảm dần, giảm đến giá trị x:-240 ứng với biên trái của sân khấu.

- Đi sang phía bên phải là đi theo chiều ngang dương, tức là giá trị của x sẽ tăng dần, tăng đến giá trị x:240 ứng với biên phải của sân khấu.

- Đi xuống dưới là đi theo chiều dọc âm, tức là giá trị của y sẽ giảm dần, giảm đến giá trị y:-180 ứng với biên dưới của sân khấu.

- Đi lên trên là đi theo chiều dọc dương, tức là giá trị của y sẽ tăng dần, tăng đến giá trị y:180 ứng với biên trên của sân khấu.

2. TÌM HIỂU MỘT SỐ LỆNH:

- Để đặt nhân vật ở vị trí chính xác theo tọa độ thì ta làm thế nào?

Câu trả lời là ta sử dụng lệnh định vị: Scratch 3.0: Lệnh định vị

Giả sử khi nhấn vào cờ xanh Scratch 3.0: Cờ xanh (green flag) ta muốn nhân vật dù ở bất kỳ đâu cũng sẽ chuyển về chính giữa màn hình (x:0, y:0) thì ta làm như sau:

Scratch 3.0: Ví dụ lệnh goto

Vậy, nếu bạn muốn rằng khi nhấn cờ xanh thì nhân vật sẽ bắt đầu ở một vị trí bất kỳ, bạn sẽ giải quyết điều này bằng cách di chuyển chuột đến vị trí mong muốn, sau đó tìm đến lệnh Scratch 3.0: Lệnh định vị , lúc này tọa độ x và y sẽ được cập nhật và ta chỉ việc kéo lệnh vào là được.

- Lệnh lướt: Scratch 3.0: Lệnh lướt glide

Lệnh này có tác dụng lướt nhân vật tới vị trí (x,y) trong thời gian mong muốn.

Cách sử dụng: Giả sử em muốn khi nhấn cờ xanh thì nhân vật sẽ lướt tới tọa độ (x: 120, y:-160) trong thời gian 2 giây thì ta kéo lệnh vào và đặt lại các tham số như sau: Scratch 3.0: Ví dụ lệnh glide

- Em muốn lướt nhân vật tới một vị trí bất kỳ sau khi nhấn cờ xanh? Em sử dụng lệnh sau: Scratch 3.0: lệnh glide random

- Lấy hoành độ: Scratch 3.0: lệnh x position

Dùng để lấy giá trị chiều ngang (hoành độ) hiện tại của nhân vật.

- Thay đổi hoành độ: Scratch 3.0: change x by

Dùng để thay đổi giá trị của hoành độ x của nhân vật một lượng mong muốn. Nếu lượng thay đổi là một số dương thì nhân vật sẽ dịch chuyển sang phải, nếu là số âm thì nhân vật sẽ dịch chuyển sang trái.

- Lấy tung độ: Scratch 3.0: y position

Dùng để lấy giá trị chiều dọc (tung độ) hiện tại của nhân vật.

- Thay đổi tung độ: Scratch 3.0: change y by

Dùng để thay đổi giá trị của tung độ y của nhân vật một lượng mong muốn. Nếu lượng thay đổi là một số dương thì nhân vật sẽ dịch chuyển lên trên, nếu là số âm thì nhân vật sẽ dịch chuyển xuống dưới.

- Điều kiện: Scratch 3.0: Điều kiện if-else

Dùng để kiểm tra một một điều gì đó mà em muốn. Ví dụ như kiểm tra xem nhân vật có chạm vào nhân vật khác không, nhân vật đang có tọa độ x đạt đến giá trị mong muốn chưa, số nhập vào có là số chẵn không, …

- Vòng lặp: Vòng lặp forever Scratch 3.0

Dùng để luôn luôn thực hiện một khối lệnh nào đó. Ví dụ như nếu em muốn chú mèo luôn luôn xoay trái thì ta làm như sau: Mèo xoay trái turn left

- Lệnh chỉ hướng: Scratch 3.0: Lệnh point towards

Lệnh này dùng để điểu khiển nhân vật nhìn theo một nhân vật khác hoặc nhìn theo con trỏ chuột.

Ví dụ nếu em muốn chú mèo luôn nhìn về phía quả bóng thì em có thể làm như sau: Scratch 3.0: Ví dụ lệnh point forwards

- Cảm biến chạm: Cảm biến chạm scratch 3.0

Đây là lệnh kiểm tra (hay còn gọi là phần điều kiện), lệnh này dùng để kiểm tra xem nhân vật có chạm vào nhân vật hay thành phần nào đó khác không.

Cách sử dụng: Dùng cùng với điều kiện Scratch 3.0: Điều kiện if-else hoặc với một vòng lặp.

Ví dụ:

Giả sử em có một chú mèo và một quả bóng như thế này: Scratch 3.0: mèo và bóng

Nếu em muốn kiểm tra xem chú vào đã chạm được vào quả bóng chưa, nếu chạm rồi thì mèo sẽ nói điều gì đó, thì ta sẽ làm như sau: Kiểm tra mèo chạm bóng scratch 3.0

- Điều khiển phím trên bàn phím: Scratch 3.0: Lệnh điều khiển trên bàn phím

Đây là sự kiện dùng để kiểm tra xem phím mong muốn trên bàn phím có được nhấn (pressed) hay không.

Ví dụ nếu em muốn điều khiển chú mèo để khi nhấn vào phím mũi tên phải của bàn phím mèo sẽ sang phải thì ta làm như sau: Scratch 3.0: Ví dụ sử dụng sự kiện phím trên bàn phím

3. LÀM PROJECT:

Chủ đề:

Mèo bắt bóng

Mô tả:

Có 1 quả bóng đang di chuyển lung tung (không theo hướng cụ thể) trên sân khấu. Em hãy lập trình để chú mèo bắt được quả bóng. Khi bắt được bóng mèo sẽ nói: Tớ bắt được bóng rồi.

Yêu cầu:

Khi nhấn cờ xanh thì vị trí của chú mèo và quả bóng như sau:

Scratch 3.0: Vị trí ban đầu của mèo và bóng

Hướng dẫn:

- Lập trình cho quả bóng:

Hãy sử dụng lệnh Scratch 3.0: lệnh glide random để làm quả bóng di chuyển ngẫu nhiên. Em có thể tăng giảm thời gian để làm cho quả bóng di chuyển nhanh hoặc chậm.

- Lập trình cho chú mèo:

Hãy lập trình để chú mèo luôn nhìn về phía quả bóng.

Hãy lập trình để chú mèo sẽ có thể di chuyển đến mọi hướng sử dụng sự kiện: Scratch 3.0: Lệnh điều khiển trên bàn phím

Khi chú mèo chạm vào quả bóng thì chú mèo sẽ nói điều gì đó trong 2 giây, sau đó toàn bộ chương trình sẽ dừng lại (stop, gợi ý lệnh dừng chương trình là: Scratch 3.0: Lệnh stop all).

Chương trình gợi ý:

- Quả bóng:

Gợi ý lệnh cho quả bóng

- Chú mèo:

Scratch 3.0: Gợi ý lệnh cho chú mèo

» Tiếp: Bài 4. Hứng hoa quả
« Trước: Bài 2. Tìm hiểu Costumes trong Scratch 3.0
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!