Chuyên mục
Các thành phần của một dự án Scratch Khám phá Scratch Blog

Thu âm trong Scratch

Cách thu âm trong Scratch

  1. Để thu âm trong Scratch, trước tiên chúng ta nhấn vào thẻ Âm thanh ở góc trái ở trên của màn hình
Thu âm trong Scratch
  1. Sau đó nhấn vào biểu tượng loa ở góc phải phía dưới màn hình, chọn Ghi lại (biểu tượng micro).
Thu âm trong Scratch
  1. Sau đó, ở các trình duyệt phổ biến như Microsoft Edge, Google Chrome, Mozilla Firefox và Safari, Scratch có thể sẽ yêu cầu được sử dụng micro của máy để thu âm. Chọn Allow (cho phép) nếu được yêu cầu.
Thu âm trong Scratch
  1. Sau khi Scratch đã được phép thu âm, nút ghi lại (hình tròn màu đỏ) sẽ đậm hơn. Nhấn vào đó để bắt đầu ghi âm (hình tròn sẽ đổi thành hình vuông)
  2. Sau khi ghi âm xong, nhấn vào nút dừng ghi âm
Thu âm trong Scratch
  1. Bạn có thể nhấn nút Chơi để nghe lại âm thanh vừa thu. Nếu muốn thu âm lại, nhấn vào nút thu âm lại và thực hiện lại từ bước 4. Sau khi đã hài lòng với âm thanh vừa thu, nhấn nút lưu
Thu âm trong Scratch
  1. Sau khi lưu thành công, âm thanh sẽ xuất hiện trong thẻ âm thanh như hình
Thu âm trong Scratch

Kiểm tra âm thanh mình vừa lưu

Để kiểm tra xem âm thanh có sử dụng được vào chương trình hay chưa, chúng ta có thể xài khối lệnh sau, với recording1 là tên của âm thanh chúng ta vừa lưu

Thu âm trong Scratch

Để hiểu hơn về các cách sử dụng âm thanh, bạn có để đọc các bài viết sau: Các khối lệnh với âm thanh, Chỉnh sửa âm thanh

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Các thành phần của một dự án Scratch Khám phá Scratch Blog

Hướng dẫn “xuất ra” và “tải lên” nhân vật

Hướng dẫn xuất ra nhân vật

Để xuất ra nhân vật, chúng ta cần làm như sau:

Bước 1: Click chọn nhân vật mình muốn xuất ra. (Ở trên hình là nhân vật Miu)
Bước 2: Click chuột phải vào nhân vật đó và chọn xuất ra.
Sau bước 2, một tệp có phần mở rộng là sprite3 sẽ được tải về máy tính. Như vậy chúng ta đã xuất ra nhân vật thành công.

Lưu ý: Tệp xuất ra bao gồm cả các khối lệnh, trang phục và âm thanh của nhân vật.

Hướng dẫn tải lên nhân vật

Các bước để tải lên nhân vật là:

Bước 1: Di chuột vào biểu tượng hình con mèo ở góc dưới bên phải, chọn Tải Nhân vật lên.
Bước 2: Tìm tệp nhân vật vừa xuất ra ở trên. Nhấn chuột trái vào tệp để chọn tệp, sau đó nhấn nút Open. Vậy là chúng ta đã hoàn thành việc tải lên nhân vật từ máy tính.

Trên đây là hướng dẫn về việc xuất ra và tải lên nhân vật. Mong rằng với mẹo nhỏ này, bạn có thể tạo nên trò chơi thú vị và sáng tạo hơn khi sử dụng những nhân vật trong trò chơi cũ của mình!

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Khám phá Scratch Blog

Phân biệt khối lệnh “Phát âm thanh” và “Bắt đầu âm thanh”

Phân biệt khối lệnh

Đối với khối lệnh phát âm thanh … đến hết, chương trình sẽ thực hiện việc phát cho tới khi hết âm thanh rồi mới thực hiện tiếp khối lệnh ở dưới. Trong khi đó, khối lệnh bắt đầu âm thanh sẽ bắt đầu phát âm thanh và sau đó tiếp tục thực hiện khối lệnh ở dưới, ngay cả khi âm thanh chưa kết thúc. Để hiểu rõ hơn, chúng ta cùng phân tích ví dụ sau.

Ví dụ: Giả sử nhân vật có một âm thanh, tên là Trumpet2 với thời lượng là 2.12 giây.

Phân biệt khối lệnh

Khi sử dụng khối lệnh phát âm thanh Trumpet2 đến hết, đợi đến khi hết âm thanh, nhân vật mới thực hiện di chuyển 50 bước.

Phân biệt khối lệnh
(Bạn hãy để ý nút lá cờ màu xanh, sau khi di chuyển 50 bước, nút này không còn sáng nữa vì đã chạy hết đoạn chương trình)

Khi sử dụng khối lệnh bắt đầu âm thanh Trumpet2, âm thanh bắt đầu được phát ra và ngay lập tức, nhân vật di chuyển 50 bước.

Phân biệt khối lệnh
(Bạn hãy để ý ngay sau khi click vào nút lá cờ xanh, nhân vật lập tức di chuyển 50 bước, dù âm thanh Trumpet2 có thời lượng 2.12 giây, chưa được phát hết)

Hy vọng rằng bài viết này sẽ giúp các bạn tránh khỏi sự nhầm lẫn giữa hai khối lệnh phát âm thanh bắt đầu âm thanh khi lập trình Scratch!

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Khám phá Scratch Blog

Phân biệt giữa “Phát tin” và “Phát tin và đợi”

Phân biệt giữa Phát tin và Phát tin và đợi

Điểm chung

Cả 2 khối lệnh Phát tin và khối lệnh Phát tin và đợi đều được dùng để phát ra một tin để một đoạn code khác hoặc một nhân vật khác thực hiện khi nhận được tin đó.

Ví dụ: Trong bài Miu phiêu lưu kí, nhân vật Táo sẽ phát tin Chìa khóa xuất hiện khi chạm Miu. Nhân vật Chìa khóa sẽ có khối lệnh để nhận tin Chìa khóa xuất hiện và xuất hiện theo yêu cầu

Phân biệt giữa Phát tin và Phát tin và đợi
Phân biệt giữa Phát tin và Phát tin và đợi

Điểm khác nhau

Khối lệnh Phát tin sẽ phát ra tín hiệu, sau đó tiếp tục thực hiện các khối lệnh tiếp theo đó mà không quan tâm liệu các hành động xảy ra khi nhận được tín hiệu đó có được thực hiện xong hay chưa

Ở ngoài đời thật, việc phát tin tương tự như việc chúng ta báo cho thầy cô rằng chúng ta đã làm bài tập xong, sau đó tiếp tục làm các bài tập khác mà không cần đợi thầy cô

Phân biệt giữa Phát tin và Phát tin và đợi

Trong khi đó, khối lệnh Phát tin và đợi sẽ phát ra tín hiệu, sau đó đợi cho các hành động xảy ra khi nhận được tín hiệu đó thực hiện xong rồi mới tiếp tục thực hiện các khối lệnh tiếp theo đó

Ở ngoài đời thật, việc phát tin và đợi giống như chúng ta giơ tay (báo hiệu với các thầy cô rằng chúng ta muốn trả lời câu hỏi), sau đó sẽ đợi thầy cô. Chỉ khi nào thầy cô cho chúng ta phát biểu, thì chúng ta mới đứng lên trả lời câu hỏi.

Phân biệt giữa Phát tin và Phát tin và đợi

Vậy khi nào chúng ta nên sử dụng khối lệnh nào?

Chúng ta thử học cách sử dụng chính xác 2 khối lệnh này thông qua 2 ví dụ sau:

Giả sự chúng ta đang muốn lập trình một trò chơi để Miu vượt qua mê cung và đi đến lối ra (Exit). 

Phân biệt giữa Phát tin và Phát tin và đợi

Trong trò chơi này, xét 2 hành động sau:

Hành động 1: Khi Miu đi tới Lối ra, Lối ra sẽ thông báo trò chơi chiến thắng trước khi dừng trò chơi. Khi nhận được tin trò chơi chiến thắng, nhạc chiến thắng sẽ phát ra trong vòng 10 giây, sau đó màn hình chiến thắng sẽ xuất hiện.

Phân biệt giữa Phát tin và Phát tin và đợi
  • Nếu chúng ta sử dụng khối lệnh Phát tin để lập trình hành động này của Lối ra, Lối ra sẽ dừng trò chơi ngay sau khi phát tin Chiến thắng. Điều này sẽ dẫn đến việc nhạc chiến thắng sẽ không kịp phát hết, và màn hình chiến thắng cũng sẽ không kịp xuất hiện.
  • Nếu chúng ta sử dụng khối lệnh Phát tin và đợi để lập trình hành động này, sau khi phát tin chiến thắng, Lối ra sẽ đợi cho trò chơi phát nhạc chiến thắng xong, màn hình xuất hiện xong rồi mới dừng trò chơi

Vậy suy ra, khối lệnh đúng để lập trình cho hành động này là Phát tin và đợi

Hành động 2: Trong khi tìm lối ra, Miu đã vô tình kích hoạt một quả bom. Miu thông báo Miu chạm bom. Khi nhận được tin Miu chạm bom, quả bom sẽ phát nổ trong vòng 30 giây nếu Miu không kịp thoát khỏi mê cung.

Phân biệt giữa Phát tin và Phát tin và đợi
  • Nếu chúng ta sử dụng khối lệnh Phát tin và đợi để lập trình hành động này của Miu, Miu sẽ thông báo Miu chạm bom, sau đó sẽ đứng yên đợi bom đếm hết 30 giây mới thực hiện được hành động tiếp theo. Như vậy là Miu sẽ không có cơ hội để thoát khỏi mê cung kịp thời gian rồi.
  • Nếu chúng ta sử dụng khối lệnh Phát tin để lập trình hành động này, sau khi Miu thông báo Miu chạm bom, Miu sẽ không đợi bom đếm đến hết giờ. Thay vào đó, Miu sẽ tiếp tục việc tìm đường thoát khỏi mê cung của mình. Nhờ đó mà Miu kịp thoát khỏi mê cung trước khi bom phát nổ

Vậy suy ra, khối lệnh đúng để lập trình cho hành động này là Phát tin

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Khám phá Scratch Blog

Trí tuệ nhân tạo (Artificial Intelligence – AI)

Trí tuệ nhân tạo là gì?

Trí tuệ nhân tạo, hay tiếng Anh gọi là Artificial Intelligence – AI, là một thuật ngữ được sử dụng để mô tả các máy móc có khả năng bắt chước các chức năng “nhận thức” của con người, ví dụ như “học tập”, hay “giải quyết một vấn đề nào đó”.

Ví dụ về cách AI thường được sử dụng trong đời sống

AI đang ngày càng trở nên phổ biến hơn trong cuộc sống thường ngày của chúng ta. Nếu bạn nào đã đọc truyện Doremon hẳn là vẫn còn nhớ chú mèo máy đến từ tương lai của chúng ta có một chiếc xe tự lái. Có lẽ là nhiều năm về trước, khái niệm đó chỉ có trong tưởng tượng nhưng hiện giờ xe tự lái, và cả thiết bị bay không người lái đã thực sự xuất hiện trong đời sống hàng ngày rồi. Tất cả đều nhờ vào công nghệ AI.

Trí tuệ nhân tạo

Không những thế AI còn giúp chúng ta tạo ra những chú Robot biết nói tiếng người, biết chơi cờ và cả dạy học nữa. Đó chỉ là một số ít ví dụ mà AI đã làm được để nâng cao đời sống con người mà thôi!

Sử dụng dữ liệu lưu trữ vào bộ nhớ để tạo ra một AI

Ý tưởng cơ bản để tạo ra một AI là lưu các kết quả từng xảy ra vào bộ nhớ, và dựa vào các dữ liệu đó để học hỏi và tạo ra kết quả chính xác hơn.

Vậy thì “dữ liệu” là gì?

Dữ liệu là thông tin về đối tượng bất kỳ được thu thập để “ghi nhớ”, phục vụ cho việc “học hỏi” và “phán đoán” cách ứng xử trong các tình huống mới.

Dữ liệu có thể xuất hiện dưới dạng chữ viết, ký hiệu, con số, âm thanh, hình ảnh…

Tất cả những dữ liệu này sẽ được bộ nhớ của AI ghi nhớ, từ đó Ai sẽ “quan sát”, “học hỏi” để đưa ra những quyết định để giải quyết một vấn đề nào đó. Do đó dữ liệu càng nhiều, máy móc sẽ có nhiều cơ sở để phân tích và đưa ra quyết định.

Ví dụ về cách dùng AI trong bài Siêu Robot ném bóng rổ

Ví dụ như ở bài “Siêu Robot ném bóng rổ”, cứ sau mỗi lượt ném bạn Robot lại ghi lại chi tiết của lượt ném đó vào “sổ kinh nghiệm” để lần sau làm tốt hơn nữa.

Đó là lý do tại sao AI lại tiến bộ hơn thuật toán Dò Tìm Triệt Để, chính là nhờ sử dụng bộ dữ liệu được lưu lại. Nhờ các dữ liệu này mà bạn Robot có thể học từ rất nhiều những tình huống ném Trúng và ném Trượt trong quá khứ, và đoán ra cách ném tốt nhất cho tình huống tiếp theo và làm cho thời gian tìm ra cách ném chính xác rút ngắn lại.

Con có thể chơi thử trò chơi Siêu Robot Ném Bóng Rổ để hiểu ứng dụng của AI nhé! http://bit.ly/RobotBongRo

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Khám phá Scratch Blog

Sai số

Sai số là gì?

Sai số là sự chênh lệch giữa giá trị thực tế và giá trị kỳ vọng 

Công thức tính sai số: Sai Số = Giá Trị Thực Tế – Giá Trị Kỳ Vọng

Nếu giá trị thu thập được bằng giá trị chính xác, sai số sẽ là 0. Có hai loại Sai Số là Sai Số lớn hơn 0 và Sai Số nhỏ hơn 0 như hình minh hoạ dưới đây:

Sai số

Như vậy, sai số càng gần 0 thì càng tốt, không quan trọng sai số đó là âm hay dương.

Áp dụng Sai số trong bài “Siêu Robot biến hình”

Trong bài này, Sai Số sẽ giúp cho bạn Robot tự “chấm điểm” mỗi lượt ném bóng của mình.

  • Sai Số càng gần với 0 thì Robot ném bóng càng tốt, vì bóng lúc đó sẽ càng gần tâm Rổ. 
  • Nếu như Sai Số > 0 thì bạn Robot ném bóng hơi mạnh. 
  • Nếu Sai Số < 0, thì bạn Robot ném bóng hơi nhẹ. 

Tùy vào giá trị của Sai Số lúc đó, Robot có thể điều chỉnh lại lực ném của mình một cách chính xác hơn ở lượt tiếp theo

Sai số

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Khám phá Scratch Blog

Thuật toán dò tìm triệt để

Dò Tìm Triệt Để là gì và tại sao chúng ta lại dùng nó?

Ở trò chơi “Siêu Robot ném bóng rổ”, ở mỗi vị trí bạn Robot đang đứng, sẽ có một cặp số “Vận tốc ném bóng cao” và “Vận tốc ném bóng xa” duy nhất mà khi bạn Robot chọn đúng cặp tham số này để ném bóng thì sẽ đưa được bóng vào rổ.

Thuật toán dò tìm triệt để

Có nhiều cách làm để bạn Robot tìm ra được cặp tham số này, nhưng cách dễ hiểu nhất là dùng thuật toán Dò Tìm Triệt Để. Thuật toán Dò Tìm Triệt Để, hay còn có tên gọi khác thuật toán “Trâu Bò”, là một dạng thuật toán chạy qua tất cả các trường hợp có thể xảy ra để tìm phương án cho một vấn đề nào đó.

Cách sử dụng Dò Tìm Triệt Để

Dùng Dò Tìm Triệt Để lập trình cho Siêu Robot ném bóng rổ

Trong bài Lập trình Siêu Robot ném bóng rổ chúng ta đã từng áp dụng thuật toán Dò Tìm Triệt Để. Bạn Robot sẽ thử từng giá trị của “Ném bóng cao” với từng giá trị của “Ném bóng xa” cho đến khi bóng ném trúng tâm Rổ.

Sau đây là một ví dụ cho trường hợp bóng sẽ được ném vào Rổ nếu giá trị “ném Bóng cao” = 6 và “ném Bóng xa” = 4:

Khi bắt đầu ném bóng, bạn Robot sẽ không biết được với giá trị “ném Bóng cao” và “ném Bóng xa” nào thì bóng sẽ vào Rổ. Do đó, bạn phải thử lần lượt từng trường hợp một bằng cách ghép hai biến số với giá trị từ nhỏ đến lớn như hình minh hoạ dưới đây. 

Thuật toán dò tìm triệt để

Phân tích cách bạn Robot dùng Dò Tìm Triệt Để một cách chi tiết hơn: 

Thuật toán dò tìm triệt để

Sau khi đã hiểu được những bước cơ bản, chúng ta hãy cùng nhau tìm hiểu cách lập trình thuật toán này cho bạn Robot nào:

Thuật toán dò tìm triệt để

Một ví dụ khác: Tìm hai bạn sinh đôi ở hai lớp khác nhau

Nếu ví dụ trên hơi khó hiểu, chúng ta hãy cùng nghĩ đến một cách áp dụng khác của phương pháp Dò Tìm Triệt Để trong đời sống hàng ngày để dễ hình dung hơn.

Ví dụ trong lớp 2A và 2B có một cặp sinh đôi. Câu đố là làm cách nào để tìm ra được cặp sinh đôi đó, biết một bạn học ở lớp 2A và 1 bạn học ở lớp 2B? 

Cách dễ nhất là với mỗi bạn ở lớp 2A bắt đầu từ bạn có số báo danh nhỏ nhất, chúng ta lại so sánh với tất cả những bạn ở lớp 2B cũng theo thứ tự số báo danh từ nhỏ đến lớn. Làm như vậy chúng ta sẽ không bỏ lỡ một trường hợp nào. 

Cứ lặp lại cách so sánh đó cho đến khi nào tìm được hai bạn giống nhau, thì đó chính là hai bạn sinh đôi mà mình muốn tìm.

Dò Tìm Triệt Để có điểm mạnh và điểm yếu gì?

Điểm mạnh:

Vì thuật toán Dò Tìm Triệt Để là một thuật toán đi qua tất cả các trường hợp có thể xảy ra. Do đó khi dùng thuật toán này, chúng ta sẽ luôn luôn tìm ra câu trả lời cho tất cả những vấn đề mình cần giải quyết, nếu như đáp án đó tồn tại.

Thuật toán này nhìn chung tương đối dễ hiểu, và dễ lập trình. 

Điểm yếu:

Tuy nhiên, như đã nói ở trên, vì thuật toán này xét tất cả các trường hợp, cho nên nó sẽ bao gồm cả trường hợp đúng và sai. Vì thế, việc tìm ra đáp án sẽ mất rất nhiều thời gian. 

Để xem trò chi tiết cách thuật toán dò tìm triệt để được lập trình trong trò chơi “Siêu robot ném bóng rổ”, con có thể tham khảo link sau nhé: http://bit.ly/RobotBongRo

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official


Chuyên mục
Khám phá Scratch Blog

Mô phỏng vật ném xiên trong Scratch

Ném xiên là gì?

Mô phỏng vật ném xiên trong Scratch

Chuyển động ném xiên là chuyển động của một vật được ném lên trên cao có vận tốc ban đầu. Như hình ảnh minh hoạ, bóng lúc bắt đầu ném có vận tốc ném Bóng cao và vận tốc ném Bóng xa.

Ném xiên trong thực tế

Trong thực tế, chuyển động của một vật ném xiên được chia thành 2 thành phần: chuyển động theo chiều dọc và chuyển động theo chiều ngang. Tương ứng với 2 phần này, ta có vận tốc của vật theo chiều dọc (kí hiệu là Vy) và vận tốc của vật theo chiều ngang (kí hiệu là Vx). Hình vẽ dưới đây mô tả chuyển động ném xiên của một vật bất kỳ.

Mô phỏng vật ném xiên trong Scratch

Như đã học ở Vật Lý 6, trong thực tế, một vật bất kỳ sẽ chịu tác dụng của trọng lực (lực hút của Trái Đất, hay còn gọi là lực hút trọng trường). Chính nhờ lực này mọi thứ trên Trái đất không bị ở trạng thái lơ lửng. Trong chuyển động ném xiên, lực này đã khiến một vật khi ném xiên: ban đầu sẽ đi lên cao hơn vị trí ném, nhưng dần dần sẽ rơi xuống và chạm đất.

Mô phỏng vật ném xiên trong Scratch

Ngoài ra trong thực tế còn có lực ma sát của không khí hay còn gọi là lực cản của không khí. Khi vật di chuyển trong không khí, lực này chống lại sự chuyển động của vật, làm cho vật đó chuyển động chậm lại.

Mô phỏng vật ném xiên trong Scratch

Mô phỏng vật ném xiên trong bài học “Siêu Robot ném bóng rổ”

Trong bài học “Siêu Robot ném bóng rổ”, ta cũng có các đại lượng gần giống để mô phỏng chuyển động của quả bóng giống như thực tế. Hình ảnh dưới đây là một ví dụ minh họa:

Mô phỏng vật ném xiên trong Scratch

Giải thích ý nghĩa các biến số:

  • Vx Bóng bây giờ: biểu thị giá trị vận tốc theo phương nằm ngang của bóng ở thời điểm hiện tại
  • Vy Bóng bây giờ: biểu thị giá trị vận tốc theo phương thẳng đứng của bóng ở thời điểm hiện tại
  • HỆ SỐ MA SÁT KHÔNG KHÍ (% VẬN TỐC): là hằng số có giá trị bằng -0.01. Đây được gọi là hệ số ma sát của không khí. Khi kết hợp với phép nhân cùng Vx/Vy Bóng bây giờ trong khối lệnh, giá trị này là lượng thay đổi của vận tốc do lực ma sát không khí gây ra
  • GIA TỐC TRỌNG LỰC: là hằng số có giá trị bằng -1. Biến số này trong khối lệnh có ý nghĩa biểu thị rằng, do lực hút của Trái Đất mà vận tốc theo chiều dọc (Vy Bóng bây giờ) bị giảm đi một lượng là 1. 

Bạn có thể tham khảo trò chơi Siêu Robot ném bóng rổ ở đây: http://bit.ly/RobotBongRo

Lưu ý: Công thức sử dụng trong bài viết và trong dự án Siêu Robot ném bóng rổ đã được đơn giản hóa so với công thức tính toán trong thực tế. Các công thức Vật Lý chính xác về ném xiên, trọng lực, lực ma sát sẽ được giới thiệu trong chương trình học THCS-THPT.

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Khám phá Scratch Blog

Màn hình di chuyển

1. Nhắc lại về trục tọa độ trong Scratch

Trong Scratch, ta đã biết vị trí của một nhân vật trên màn hình sẽ được biểu diễn bằng cặp tọa độ x (hoành độ – theo chiều ngang) và tọa độ y (tung độ – theo chiều dọc). Chiều rộng và chiều cao của màn hình Scratch tương ứng là 480 và 360.

Bạn đọc có thể truy cập vào bài viết sau để tìm hiểu kỹ hơn về trục tọa độ trong Scratch: https://www.steamforvietnam.org/blog/truc-toa-do-trong-scratch.

2. Tìm hiểu về các màn chơi trong trò chơi “Miu Phiêu Lưu Ký”

Khi Miu di chuyển qua lại, màn hình di chuyển theo chuyển động của Miu

Màn hình di chuyển
Màn hình di chuyển

Nói tóm lại, các màn chơi có vị trí tương đối, tọa độ phụ thuộc vào biến di chuyển ngang (của nhân vật Miu) chứ không có tọa độ cố định. 

3. Ý tưởng lập trình màn chơi

Để lập trình các màn chơi ban đầu, ta sẽ đặt các màn chơi ở một tọa độ (hoành độ x và tung độ y) cố định, sau đó khi Miu di chuyển thì các hoành độ (tọa độ x) của các màn chơi sẽ đồng loạt thay đổi thành tọa độ x ban đầu của nó trừ đi số bước Miu đã di chuyển. 

Ví dụ:

Chúng ta cùng xem thử cách các màn chơi được lập trình trong bài Miu Phiêu Lưu Ký – Phần 2.

Trong bài này, tọa độ ban đầu của Đất 1, Đất 2, Đất 3 lần lượt là 0, 480, 960. Chúng ta kí hiệu số bước Miu đã di chuyển chính là giá trị của biến di chuyển ngang. Thay vì thay đổi tọa độ của Miu khi Miu di chuyển, chúng ta sẽ cho Miu đứng yên, và cho các cảnh di chuyển ngược lại dựa vào số bước của Miu.

Màn hình di chuyển

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Chuyên mục
Khám phá Scratch Blog

Dùng trang phục để nhân vật di chuyển linh hoạt

Trong 2 hình, hình nào bạn Miu giống như đang đi bộ hơn?

Dùng trang phục để nhân vật di chuyển linh hoạt
Hình 1
Dùng trang phục để nhân vật di chuyển linh hoạt
Hình 2

Hình 1: Bạn Miu giữ nguyên tư thế khi di chuyển (toàn bộ cơ thể và chân tay không hề thay đổi), tạo cảm giác không chân thực

Hình 2: Bạn Miu di chuyển tay chân giống như đang đi bộ

Tại sao cần làm cho nhân vật di chuyển linh hoạt?

Khi nhân vật di chuyển càng chân thật, trò chơi sẽ trở nên thú vị và sinh động hơn. Đây là một kĩ thuật được sử dụng rất nhiều trong lập trình trò chơi.

Làm sao để cho nhân vật di chuyển linh hoạt?

1. Sử dụng nhiều hình ảnh để thể hiện các trạng thái khác nhau của nhân vật khi thực hiện hành động

Để tạo cảm giác nhân vật chuyển động linh hoạt, chúng ta sẽ cố gắng tạo càng nhiều hình ảnh để miêu tả các trạng thái khác nhau của nhân vật càng tốt. Giữa các trạng thái có càng ít thay đổi, thì chuyển động sẽ càng có cảm giác mượt mà hơn.

Ví dụ: Sử dụng 1 trang phục để thể hiện trạng thái Miu đứng yên và 8 trang phục để thể hiện các trạng thái Miu đi (được sắp xếp theo thứ tự từ 1 đến 9), qua đó miêu tả trạng thái của Miu khi di chuyển qua lại (*). Giữa các trạng thái chỉ có thay đổi rất nhỏ.

2. Dùng khối lệnh để nhân vật thay đổi trang phục

Do các trang phục đã được sắp xếp đúng trình tự, nên chúng ta có thể sử dụng lệnh “trang phục kế tiếp” nếu muốn thay đổi lần lượt trong các trang phục này. Tuy nhiên, nếu chúng ta chỉ thay đổi trong một số trang phục nhất định, chúng ta cần sử dụng biến.

Ví dụ: nếu Miu có 1 trang phục số 1 có tư thế đứng, 8 trang phục từ số 2 đến số 9 là các tư thế đi lần lượt, 1 trang phục số 10 là tư thế rơi, và 1 trang phục số 11 là tư thế nhảy. Nếu chúng ta sử dụng khối lệnh dưới đây, các trang phục sẽ thay đổi từ 1 đến 11 rồi quay lại 1 và tiếp tục, như vậy cả trang phục nhảy và rơi cũng xuất hiện. 

Dùng trang phục để nhân vật di chuyển linh hoạt

Sử dụng trang phục kế tiếp trong khối lệnh bước đi

Dùng trang phục để nhân vật di chuyển linh hoạt

Sử dụng khối lệnh bước đi để lập trình khối lệnh di chuyển trái phải

Dùng trang phục để nhân vật di chuyển linh hoạt

Sử dụng khối lệnh di chuyển trái phải để chạy trong chương trình chính

Trong trường hợp này, chúng ta cần kết hợp biến để đảm bảo là chỉ thay đổi các trang phục từ 1 đến 9 khi Miu đi trên mặt đất. 

Ví dụ ở đây chúng ta  sử dụng biến số Số thứ tự của trang phục như sau:

Dùng trang phục để nhân vật di chuyển linh hoạt

Thay đổi biến Số thứ tự của Trang Phục mỗi khi di chuyển

Dùng trang phục để nhân vật di chuyển linh hoạt

Liên tục cập nhật trang phục dựa vào biến Số thứ tự của Trang Phục

Như vậy là con đã biết cách sử dụng trang phục để nhân vật của con di chuyển linh hoạt và sinh động hơn rồi đấy!

Con có thể chơi thử trò chơi Miu Phiêu Lưu Ký để hiểu ứng dụng của kỹ thuật lập trình này nhé! https://bit.ly/s4v_cs001_sp21_bai6_coban 

*: Hình ảnh trong bài thuộc về họa sĩ griffpatch

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official