Tìm vị trí lỗi sai trong đoạn lệnh lập trình cho nhân vật pico thực hiện theo mô tả sau:

Hình 2.3.5: Khối lệnh thay đổi hiệu ứng Trong tấm thiệp, chữ sẽ luôn đổi màu, vì thế các bạn cần chọn hiệu ứng Màu trong khối lệnh. Màu chữ thay đổi phụ thuộc vào lượng giá trị trong khối lệnh. Lượng giá trị thay đổi là số dương (tăng) thì màu sẽ thay đổi theo chiều dương của kim đồng hồ, còn nếu lượng giá trị thay đổi là số âm (giảm) thì màu sẽ thay đổi theo chiều ngược lại,như được mô tả như trong hình 2.3.6. Hình 2.3.6. Màu thay đổi dựa trên lượng giá trị thay đổi Lượng giá trị thay đổi của hiệu ứng màu có chu kì 200, tức là khi lượng giá trị thayđổi đạt đến một lượng bằng 200 thì hiệu ứng màu sẽ quay trở lại là màu gốc ban đầu. Với màu gốc là màu thì sự thay đổi hiệu ứng màu với giá trị dương từ 0 đến 200 đượcminh hoạ như trong hình 2.3.7. Hình 2.3.7. Hiệu ứng màu thay đổi theo chu kì giá trị hiệu ứng là 200 Để chữ có thể đổi màu liên tục, khối lệnh Thay đổi hiệu ứng màu một lượngđược thực hiện lặp đi lặp lại nhiều lần, khối lệnh Liên tục được sử dụng để chữ đổi màu cho đến khi dừng chương trình. Lúc này chữ đã đổi màu được liên tục nhưng rất nhanh. Ghép khối lệnh đợi vào trong vòng lặp để sau mỗi lần đổi màu, chữ sẽ đợi thêm 1 giây rồi mới đổi màu tiếp. Và cuối cùng là khối lệnh Kích hoạt để khi bắt đầu chương trình (khi nháy vào nút lệnh ) thì chữ sẽ bắt đầu đổi màu. Hình 2.3.8. Đoạn khối lệnh hoàn chỉnhTrong bài học này, chúng ta sẽ thêm đối tượng Bóng bay và lập trình để quả bóng có thể bay. 4.1. Thêm nhân vật Bóng bay Để thêm quả bóng bay vào chương trình, ta chỉ cần nháy nút ở khung nhân vật để có thể chọn quả bóng bay từ thư viện có sẵn. Sau khi chọn nháy nút để hoàn tất. Hình 2.4.1. Thêm bóng bay từ thư viện Tên ngầm định của nhân vật khá khó đọc, ta nên thay đổi lại tên để dễ dàng tìm kiếm và không bị nhầm lẫn. Ở danh sách các đối tượng, ta nháy vào biểu tượng ở góc trênbên trái của nhân vật trong khung nhân vật để chỉnh sửa lại tên. Hình 2.4.2. Đổi tên cho nhân vật Nhân vật Bóng bay có sẵn ba hình dạng với màu sắc khác nhau, ta thay đổi hình ảnh của nhân vật tuỳ theo sở thích.Hình 2.4.3. Đổi hình dạng Bóng bay 4.2. Lập trình để quả bóng bay Nhân vật Bóng bay trong tấm thiệp cần được lập trình để có thể bay từ dưới lên trên.Trước tiên, chúng ta sẽ đi tìm hiểu về sự di chuyển của nhân vật trên sân khấu bằng cách thay đổi toạ độ x (hoành độ) và y (tung độ). Ở thẻ Code, các bạn chạy lần lượt các khối lệnh và với hai giá trị là 10 và –10, sau đó theodõi kết quả. Khi chạy khối lệnh Hình 2.4.4. Vị trí bắt đầu của quả bóng , quả bóng di chuyển sang phải 10bước (10 pixel), còn chạy khối lệnh sẽ khiến quả bóng di chuyển sang trái 10 bước. Như vậy, việc thay đổi hoành độ của nhân vật sẽ khiến nhân vật di chuyển theo phương ngang, tức là phương theo trục x. Hình 2.4.5. Thay đổi hoành độ một lượng nhất định Khi chạy khối lệnh , quả bóng sẽ di chuyển lên trên 10 bước, còn nếu lượng thay đổi là –10 như trong khối lệnh thì quả bóng sẽ di chuyển xuống dưới 10 bước. Vậy việc thay đổi tung độ của nhân vật sẽ khiến nhân vật di chuyển theo phương thẳng đứng, tức là theo phương của trục y.Hình 2.4.6. Thay đổi tung độ một lượng nhất định Quả bóng cần phải di chuyển theo phương thẳng đứng với chiều hướng từ dưới lên trên, vì vậy các bạn sử dụng khối lệnh . Ở Chương I, chúng ta đã được biết sân khấu có chiều dọc là 360 bước, vậy nên để di chuyển hết chiều này thì bóng bay cũng phải di chuyển hết 360 bước. Trong trường hợp này, chúng ta sẽ điều khiển quả bóng di chuyển 36 lần, mỗi lần 10 bước bằng cách thực hiện khối lệnh lặp đi lặp lại 36 lần. Hình 2.4.7. Đoạn khối lệnh di chuyển của Bóng bay Ta có thể điều chỉnh số lần lặp để thay đổi độ dài quãng đường di chuyển cũng nhưđiều chỉnh lượnggiá trị y để thay đổi tốc độ di chuyển của quả bóng nhanh hay chậm tuỳ ý. Cuối cùng, để đoạn khối lệnh chạy khi nháy vào nút lệnh , ta sử dụng khối lệnh Khi nhấn vào lá cờ xanh và ghép lên trên khối lệnh. Hình 2.4.8. Đoạn khối lệnh hoàn chỉnhTrong rất nhiều trường hợp, chúng ta muốn khi bắt đầu chương trình (nháy vào nút lệnh ) thì đối tượng sẽ tự động nhảy đến một vị trí cố định trên sân khấu. Bài học này hướng dẫn các bạn lập trình để thực hiện điều đó. 5.1. Nhảy tới vị trí cụ thể Để lập trình cho nhân vật nhảy tới một vị trí cụ thể trên sân khấu, ta sử dụng khối lệnh Đi tới điểm x, y trong nhóm Chuyển động. Khối lệnh này sẽ điều khiển nhân vật chuyển tới vị trí có toạ độ x, y trong khối lệnh ngay lập tức. Toạ độ của nhân vật chính là vị trí toạ độ của tâm nhân vật.Hình 2.5.1. Khối lệnh Đi tới điểm Khi nhân vật được kéo đến một vị trí bất kì trên sân khấu, giá trị toạ độ x, y trong khối lệnh Đi tới điểm trong Bảng danh mục các khối lệnh sẽ tự động thay đổi tương ứng theo vị trí được kéo đến.Hình 2.5.2: Khối lệnh Đi tới điểm tự động thay đổi giá trị x, y Như vậy, khi ta kéo nhân vật đến vị trí mong muốn thì khối lệnh sẽ thay đổi giá trị x, y thành toạ độ của vị trí mong muốn đó. Kéo khối lệnh sang khu lập trình, thêm khối lệnh lên bên trên khối lệnh để khi bắt đầu chương trình (nháy vào nút lệnh ) nhân vật sẽ nhảy đến vị trí mong muốn ngay lập tức Hình 2.5.3. Đoạn khối lệnh hoàn chỉnhSau khi học Bài 4, các bạn đã biết cách lập trình để quả bóng có thể bay lên, tuy nhiên sau khi bay lên quả bóng sẽ đứng yên ở đó. Bài học này sẽ hướng dẫn các bạn lập trình để điều khiển quả bóng lặp đi lặp lại việc bay lên và mỗi lần bay lên quả bóng lại xuất phát từ một vị trí khác. 6.1. Vòng lặp lồng nhau Đoạn khối lệnh điều khiển quả bóng bay lên gồm hai thành phần: khối lệnh đi tới điểm điều khiển vị trí quả bóng và vòng lặp thay đổi tung độ điều khiển quả bóng bay lên. Hình 2.6.1. Điều khiển quả bóng bay lên Chúng ta sử dụng khối lệnh Liên tục để lập trình việc nhảy tới vị trí mới và điều khiển quả bóng bay lên lặp đi lặp lại. Hình 2.6.2. Đoạn khối lệnh lặp lồng nhau Việc nhảy đến vị trí và bay lên được lặp đi lặp lại mãi mãi cho đến khi ta nháy vào nút lệnh Dừng . 6.2. Lấy giá trị ngẫu nhiên Khi vị trí x thay đổi, vị trí theo phương ngang của nhân vật sẽ bị thay đổi.Hình 2.6.3. Thay đổi vị trí x Chính vì vậy, để thay đổi vị trí bay lên của quả bóng, các bạn cần thay đổi hoành độ (vị trí x) sau mỗi lần lặp (mỗi lần bay lên). Chúng ta thay đổi hoành độ một cách ngẫu nhiên bằng khối lệnh Lấy ngẫu nhiên . Khối lệnh này sẽ chứa một giá trị được lấy ngẫu nhiên trong khoảng từ số thứ nhất đến số thứ hai. Vị trí theo chiều ngang (trục x) của đối tượng Bóng bay bị giới hạn trong khu vực sân khấu với x có giá trị từ –240 đến 240. Chúng ta ghép khối lệnh đã được chỉnh sửa giá trị vào giá trị x của khối lệnh . Vậy là sau mỗi lần lặp, khối lệnh đi tới sẽ không còn khiến nhân vật nhảy đến một vị trí cố định nữa mà sẽ có vị trí theo chiều ngang khác nhau. Hình 2.6.4. Đoạn khối lệnh hoàn chỉnhTrong bài học này, các bạn sẽ được hướng dẫn cách thêm nhân vật chữ Happy và nhân vật Nến từ thư mục trên máy tính, đồng thời lập trình nến có thể cháy. 7.1. Thêm nhân vật từ thư mục Đầu tiên, ta truy cập website để tải tài liệu về máy tính. Ở phần danh sách nhân vật, ta nháy vào nút , cửa sổ mới sẽ hiện lên để chọn tập tin. Ta tìm đến thư mục tài liệu vừa tải về, chọn tập tin rồi nháy Open. Hình 2.7.1. Thêm đối tượng chữ Happy từ thư mục Tiếp theo là thêm ngọn nến. Nến có hai trang phục, vậy nên sau khi thêm nhân vật nến thì ta cần thêm một trang phục nữa cho Nến. Ở khu thiết kế của đối tượng Nến ta nháy vào nút và chọn trang phục thứ hai của Nến.Hình 2.7.2. Thêm trang phục cho nến 7.2. Lập trình cho đối tượng Nến Ngọn nến được lập trình chuyển đổi giữa hai trang phục liên tục, khi đó trên sân khấu ngọn nến sẽ như đang bập bùng cháy. Để thay đổi trang phục, chúng ta sử dụng khối lệnh Trang phục kế tiếp trong nhóm Hiển thị. Khi nháy chạy khối lệnh, nhân vật Nến sẽ thay đổi hình ảnh của mình. Khi khối lệnh chạy liên tục ta sẽ thấy ngọn nến như đang cháy. Hình 2.7.3. Hai trang phục của đối tượng Nến Chúng ta sử dụng khối lệnh Liên tục để ngọn nến luôn cháy, tuy nhiên khi chạy thử thì ngọn nến thay đổi trang phục rất nhanh và không đẹp. Các bạn ghép thêm khối lệnh đợi vào trong vòng lặp để ngọn nến cháy chậm và đẹp hơn. Chúng tacó thể chỉnh sửa thời gian đợi thành 0.5 giây hay 0.2 giây để thay đổi tốc độ cháy như trong đoạn khối lệnh . Thêm khối lệnh Kích hoạtvà Đi tới điểm để khi bắt đầu chương trình ngọn nến sẽ nhảy đến vị trí mong muốn. Hình 2.7.4. Đoạn khối lệnh hoàn chỉnhBài học này sẽ hướng dẫn các bạn lập trình hai đối tượng Mũ và Pháo. Hai nhân vật này đều có chuyển động lên và xuống lặp đi lặp lại khá giống nhau. 8.1. Thêm nhân vật từ thư mục Cách thêm nhân vật Mũ và Pháo giống với nhân vật Nến. Hình 2.8.1. Thêm nhân vật Mũ và nhân vật Pháo 8.2. Lập trình cho Mũ Chiếc mũ sẽ chuyển động lên và xuống đều đặn. Qua bài 4, chúng ta đã biết muốn điều khiển đối tượng di chuyển theo phương thẳng đứng sẽ phải thay đổi tung độ (vị trí y) của nhân vật, vậy ta cần sử dụng hai khối lệnh thay đổi tung độ . Trong hai khối lệnh này, một khối lệnh sẽ làm tăng giá trị tung độ (lượng giá trị tung độ thay đổi là số dương) để nhân vật chuyển động theo hướng từ dưới lên trên và khối lệnh còn lại sẽ giảm giá trị tung độ (lượng giá trị tung độ thay đổi là số âm) để nhân vật chuyển động theo hướng từ trên xuống dưới. Hình 2.8.2. Đoạn khối lệnh di chuyển của MũKhi chạy đoạn khối lệnh này, ta sẽ thấy nhân vật vẫn đứng im, vì các khối lệnh thực hiện rất nhanh, vừa di chuyển lên với khối lệnh nhân vật đã di chuyển xuống bằng khối lệnh ngay lập tức. Chính vì vậy, chúng ta ghép thêm khối lệnh đợi vào giữa hai khối lệnh trên để chuyển động được quan sát rõ ràng hơn. Ta có thể tuỳ chỉnh thời gian đợi để thay đổi tốc độ lên và xuống của chiếc mũ. Hình 2.8.3. Thêm khối lệnh đợi giữa hai lần di chuyển Để việc di chuyển lên và xuống này được thực hiện liên tục, ta ghép thêm vòng lặp bao quanh bên ngoài đoạn khối lệnh. Hoạt động của đoạn khối lệnh có thêm vòng lặp được mô tả ở hình 2.8.2. Hình 2.8.4. Hoạt động của vòng lặpGiữa các lần lặp với nhau không có khối lệnh đợi, sau khi khối lệnh được chạy, ngay lập tức khối lệnh cũng được thực hiện, chúng ta không kịp nhìn thấy chiếc mũ di chuyển xuống. Vậy nên chúng ta ghép thêm một khối lệnh nữa. Hình 2.8.5. Thêm khối lệnh Đợi Vậy là đoạn khối lệnh cho việc di chuyển đã xong, ta cần thêm khối lệnh Kích hoạt cho đoạn khối lệnh của mình. 8.3. Lập trình cho Pháo Pháo được lập trình di chuyển lên và xuống liên tục giống chiếc mũ, khi Mũ di chuyển lên thì Pháo di chuyển xuống và ngược lại. Tasao chép đoạn khối lệnh củaMũ, sau đó kéo sang nhân vật Pháo bằng cách nháy nút phải chuột lên khối lệnh trên cùng , chọn Nhân bản. Khối lệnh mới xuất hiện giống khối lệnh cũ được gắn vào con trỏ chuột mà không cần phải nhấn giữ chuột. Di chuyển con trỏ chuột và khối lệnh đến ảnh thu nhỏ của nhân vật Pháo và nháy chuột vào đó, khối lệnh sẽ được xuất hiện bên khu lập trình của nhân vật Pháo.Hình 2.8.6. Sao chép khối lệnh Hình 2.8.7. Kết quảKhi chạy chương trình, Mũ và Pháo trên sân khấu có chuyển động giống hệt nhau vì chúng có đoạn khối lệnh điều khiển giống nhau. Để chuyển động của Pháo ngược với Mũ, các bạn đổi chỗ hai giá trị của hai khối lệnh thay đổi tung độ trong đoạn khối lệnh của Pháo. Đối tượng Mũ có khối lệnh di chuyển đầu tiên là di chuyển lên, đối tượng Pháo có khối lệnh di chuyển đầu tiên là di chuyển xuống. Hình 2.8.8. Đoạn khối lệnh hoàn chỉnh của Mũ và PháoBài học này sẽ hướng dẫn các bạn lập trình để thêm âm thanh cho đối tượng và thực hành để thêm nhạc vào thiệp. 9.1. Thêm âm thanh Mỗi nhân vật, đối tượng đều có danh sách âm thanh riêng ở Khu âm thanh (trang Sounds). Đây là nơi chứa tất cả âm thanh mà nhân vật có thể chơi. Mỗi nhân vật được thêm mới (từ thư viện, tạo mới, tải từ máy tính hay chụp ảnh) đều được tạo sẵn âm thanh ngầm định. Hình 2.9.1. Danh sách âm thanh ở Khu âm thanh Âm thanh của nhân vật nào sẽ được thêm vào danh sách âm thanh của nhân vật đó, còn nhạc nền thì sẽ đưa vào danh sách âm thanh của sân khấu. Chương trình Thiệp sinh nhật có nhạc nền là bài Happy Birthday là âm thanh đã có sẵn trong thư viện âm thanh, chúng ta sẽ thêm âm thanh có sẵn trong thư viện bằng cách nháy vào nút .Hình 2.9.2. Thêm nhạc birthday cho thiệp 9.2. Lập trình Trong Danh mục các nhóm lệnh, nhóm Âm thanh có hai khối lệnh dùng để chơi âm thanh là và . Cả hai khối lệnh đều dùng để chơi âm thanh có trong danh sách âm thanh của đối tượng sân khấu. Hình 2.9.3. Hai khối lệnh chơi âm thanh Âm thanh “birthday” chơi liên tục cho đến khi dừng chương trình, vì vậy ta ghép khối lệnh bao bên ngoài khối lệnh chơi âm thanh. Hai khối lệnh chơi âm thanh được ghép vào trong vòng lặp, khi chạy sẽ có hai kết quả khác nhau. Đoạn khối lệnh sẽ chơi âm thanh Birthday, còn với đoạn khối lệnh chúng ta sẽ chỉ nghe thấy chuỗi âm thanh lặp lại của nốt son. Khi một âm thanh đang được chơi, nếu chạy lại khối lệnh bắt đầu âm thanh đó thì âm thanhsẽ được chơi lại từ đầu. Khối lệnh sẽ chơi âm thanh được chọn và đợi cho đến khi âm thanh đó được chơi hết mới thực hiện công việc các khối lệnh tiếp theo (trong trường hợp này là lặp lại việc chơi lại âm thanh birthday). Còn khối sẽ chơi âm thanh và thực hiện các công việc tiếp theo luôn mà không chờ cho đến khi âm thanh được chơi hết. Ở trong vòng lặp, khối lệnh này sẽ liên tục được thực hiện, âm thanh liên tục được chơi lại từ đầu nên chúng ta sẽ chỉ nghe thấy chuỗi âm thanh lặp lại của nốt son. Sau khi biết được phải dùng khối lệnh nào cho vòng lặp, các bạn ghép thêm khối lệnh kích hoạt để nhạc sẽ được phát từ lúc bắt đầu chươngtrình. Hình 2.9.4. Đoạn khối lệnh hoàn chỉnhĐối tượng cuối cùng của tấm thiệp là Ngôi sao. Bài học này sẽ hướng dẫn các bạn lập trình điều khiển Ngôi sao, tạo bản sao nhấp nháy của Ngôi sao. 10.1. Thêm đối tượng Ngôi sao Trong thư viện đã có sẵn Ngôi sao, các bạn thêm nhân vật từ thư viện, chọn mục Holidays sẽ thấy Ngôi sao cần tìm. Hình 2.10.1. Thêm Ngôi sao từ thư viện Sau khi thêm, các bạn có thể phóng to hoặc thu nhỏ ngôi sao để chỉnh kích thước cho phù hợp. 10.2. Tạo bản sao Để tấm thiệp có nhiều ngôi sao, chúng ta có thể thêm nhiều nhân vật ngôi saokhác cũng giống như vậy, tuy nhiên việc đó mất rất nhiều công sức và dễ gây nhầm lẫn các nhânvật.Thay vào đó, chúng ta sẽ sử dụng khốilệnh Tạobảnsao để tạo ra nhiều ngôi sao khác giống hệt ngôi sao ban đầu. Ở khu lập trình của Ngôi sao, các bạn chạy thử khối lệnh Tạo bản sao. Ta kéo ngôi sao ra sẽ thấy một ngôi sao khác xuất hiện ngay bên dưới.Hình 2.10.2. Bản sao của Ngôi sao xuất hiện bên dưới bản chính Ta có thể chọn nhân vật trong danh sách để tạo bản sao của nhân vật khác. Tất cả các bản sao đều giống hệt bản chính và được đặt ra sau bản chính một lớp. Hình 2.10.3. Tạo bản sao từ nhân vật khác 10.3. Lập trình thay đổi hiệu ứng cho bản sao Chúng ta sẽ lập trình điều khiển ngôi sao mờ đi, một giây sau sẽ hiện rõ trở lại và một giây sau nữa sẽ đổi màu. Chúng ta sẽ sử dụng khối lệnh Thay đổi hiệu ứng điểu khiển việc thay đổi hiệu ứng màu và hiệu ứng bóng ma. Với hiệu ứng bóng ma, lượng giá trị thay đổi là số dương sẽ khiến đối tượng trở nên mờ hơn và ngược lại. Ta có thể chọn lượng giá trị thay đổi của hiệu ứng tuỳ ý đểngôi sao đẹp hơn. Hình 2.10.4. Các mức độ hiệu ứng mờ ảoChúng ta sẽ cho ngôi sao nhấp nháy bằng hai khối lệnh thay đổi hiệu ứng bóng ma và đổi màu bằng một khối lệnh đổi hiệu ứng màu. Ta ghép các khối lệnh và chạy thử. Hình 2.10.5. Thay đổi các hiệu ứng Ghép thêm vòng lặp để việc thay đổi hiệu ứng được thực hiện liên tục. Hình 2.10.6. Thay đổi các hiệu ứng liên tục Tuy nhiên, đoạn khối lệnh trên chỉ giúp Ngôi sao nhấp nháy mà bản sao của nó thì không. Ghép khối lệnh lên trên để bản sao của Ngôi sao nhấp nháy được như vậy.Hình 2.10.7. Lập trình cho bản sao Lúc này khi các bạn tạo bản sao cho Ngôi sao, kéo Ngôi sao ra sẽ thấy bản sao của Ngôi sao thay đổi hiệu ứng liên tục. Hình 2.10.8. Bản sao thay đổi hiệu ứng 10.4. Sắp xếp các bản sao của Ngôi sao Trong tấm thiệp, các ngôi sao được sắp xếp thành hai cột và một hàng giống như ba cạnh của hình chữ nhật. Ta lập trình cho ngôi sao xếp lần lượt từng cạnh một bằng cách lặp lại công việc tạo bản sao và di chuyển sang vị trí tiếp theo.Hình 2.10.9. Sắp xếp các bản sao Với cột đầu tiên, Ngôi sao được lập trình di chuyển từ dưới lên trên, tức là giá trị tung độ của Ngôi sao được tăng. Hình 2.10.10. Cột sao thứ nhất Hàng tiếp theo, Ngôi sao di chuyển từ trái sang phải, tức là giá trị hoành độ của ngôi sao được tăng. Hình 2.10.11. Hàng saoCột cuối cùng, Ngôi sao di chuyển từ trên xuống dưới, tức là giảm giá trị tung độ của Ngôi sao. Hình 2.10.12. Cột sao thứ 2 Chỉ bản sao mới có hiệu ứng nên sau khi tạo đủ bản sao rồi, các bạn ẩn ngôi sao đi bằng khối lệnh Ẩn trong nhóm lệnh Ngoại hình. Tuy nhiên để tránh việc khi chạy lại chương trình lần sau Ngôi sao vẫn bị ẩn thì ta thêm khối lệnh Hiện vào đầu đoạn khối lệnh. Cuối cùng là khối lệnh kích hoạt và đặt vị trí bắt đầu cho Ngôi sao. Hình 2.10.13. Đoạn khối lệnh hoàn chỉnh Chương thiết kế Thiệp sinh nhật đến đây là kết thúc, chúng ta đã được trang bị những kiến thức cơ bản để có thể tự thiết kế một tấm thiệp cho riêng mình.CHƯ NG Trong chương này, các bạn sẽ được hướng dẫn để tạo ra một chiếc đồng hồ kim.Sau đó, các bạn sẽ học được cách thiết kế các thành phần của đồng hồ và lập trình chocác kim để đồng hồ hoạt động với thời gian chính xác như thời gian được cài đặt trênmáy tính. Tổng quan chương trình Chiếc đồng hồ gồm bốn đối tượng thành phần: Mặt đồng hồ, kim giờ, kim phút và kim giây.1. Mặt đồng hồ Hình dạng, màu sắc và các số trên đồng hồ được biểu diễn ở đối tượng Mặt đồng hồ. 2. Kim giờ Đối tượng Kim giờ mô phỏng chuyển động của kim giờ. 3. Kim phút Đối tượng Kim phút mô phỏng chuyển động của kim phút. 4. Kim giây Đối tượng Kim giây mô phỏng chuyển động của kim giây.Mặt đồng hồ được tạo bởi hai hình vuông và hai đường tròn bên trong. Trước tiên,chúng ta cần vẽ đường viền hình vuông ngoài cùng bằng cách chọn công cụ Hình chữnhật , kéothả chuột đồng thời nhấn giữ phím Shift để vẽ được hình vuông. Hình 3.1.1. Vẽ hình vuông Chỉnh lại tâm hình vuông trùng với điểm chấm tròn ở chính giữa. Hình 3.1.2. Chỉnh tâm hình vuôngDi chuyển hình vuông trên trang vẽ để điểm chính giữa hình vuông trùng với tâm trang vẽ. Các bạn có thể sử dụng chức năng phóng to để điều chỉnh dễ dàng hơn. Hình 3.1.3. Chỉnh tâm hình vuông bằng tâm trang vẽ Tô màu bên trong hình vuông bằng công cụ , chỉnh màu và kích thước nét vẽđường viền tuỳ ý. Hình 3.1.4. Chỉnh kích thước, màu đường viền và tô màu Vẽ đường viền hình vuông thứ hai và thêm hai đường tròn. Vẽ hình tròn bằngcông cụ vẽ hình elip , khi vẽ nhấn phím Shift để có được hình tròn. Thao tác chỉnh tâm và chỉnh màu được thực hiện tương tự.Hình 3.1.5. Thêm một đường viền hình vuông và hai đường tròn Thêm số cho đồng hồ. Dùng công cụ để thêm các số từ 1 đến 12 và điều chỉnh vị trí của số cho phù hợp bằng các phím mũi tên trên bàn phím. Hình 3.1.6. Thêm số cho đồng hồ2.1. Giới thiệu về góc Cứ hai kim bất kì trong đồng hồ đều sẽ tạo thành một góc. Đơn vị để đo độ lớn của góc là độ, kí hiệu o. Ví dụ 30o (30 độ). Góc cũng dùng để mô tả chuyển động xoay. Góc xoay càng rộng thì giá trị góc càng lớn. Xoay hết một vòng tròn thì góc bằng 360o. Hình 3.2.1 minh hoạ các giá trị góc được tạo bởi kim giờ và kim phút của đồng hồ. Lưu ý có thể có một số trường hợp không đúng với thực tế. Hình 3.2.1. Các góc được tạo bởi kim giờ và kim phút 2.2. Hướng của đối tượng Mỗi đối tượng đều có một hướng nhất định và có giá trị ngầm định là hướng sangphải (90o). Hướng và giá trị hướng của đối tượng được mô tả như trên Hình 3.2.2.Hình 3.2.2. Một số ví dụ về hướng của đối tượngSau khi vẽ được mặt đồng hồ, các bạn cần thiết kế các kim đồng hồ và chỉnh lại vị trí các số cho chính xác. 3.1. Kim giây Hình dạng kim giây rất đơn giản, chỉ là một đường thẳng. Các bạn dùng công cụ ,chỉnh màu và kích thước nét vẽ rồi sau đó tiến hành vẽ. Khi vẽ nhấn giữ phím Shift. Hình 3.3.1. Vẽ kim giây Trên mặt đồng hồ, điểm quay của các kim không nằm ở chính giữa kim mà sẽ lệch về một bên, do đó các bạn cần chỉnh tâm của kim cũng lệch tương ứng như vậy. Hình 3.3.2. Chỉnh tâm của kim 3.2. Kimphút Cách vẽ kim phút phức tạp hơn một chút. Sau khi tạo đối tượng mới, các bạn vẽ đường viền hình chữ nhật, sau đó tạo hình bằng công cụ chỉnh hình. Khi ở chế độ chỉnh hình có các chấm tròn xuất hiện trên đối tượng, nháy chuột vào một điểm để bỏ điểm đó, nháy chuột vào một cạnh để tạo thêm một điểm.Bỏ điểm Chỉnh lại Thêm điểm và này vị trí chỉnh lại vị trí Hình 3.3.3. Tạo hình kim phút 3.3. Kimgiờ Đầu tiên vẽ một đường tròn, chỉnh hình để thành hình trái tim. Hình 3.3.4. Tạo hình đầu kim giờ Thêm một hình chữ nhật và chỉnh lại hình để tạo thành đầu kim. Hình 3.3.5. Kim giờ Lưu ý: Sau khi vẽ xong, đổi lại tên cho các đối tượng. 3.4. Chỉnh lại vị trí các số Ở bài trước, các bạn đã thêm số cho mặt đồng hồ, tuy nhiên vị trí mới chỉ ước lượng, chưa chínhxác. Nối 12 số với tâm sẽ được 12 góc, mỗi góc bằng 30o. Các bạn sẽ lập trình để kim giây xoay 12 lần, mỗi lần quay 30o và tạo bản sao. Sau đó sắp xếp lại vị trí các số trên mặt đồng hồ. Hình 3.3.6. Vị trí các số Đầu tiên lập trình để kim giây nhảy tới tâm của đồng hồ. Ở khu lập trình của kim giây, chúng ta sử dụng khối lệnh và chọn đối tượng đồng hồ. Hình 3.3.7. Kim giây đi tới tâm của đồng hồ Tiếp theo, lập trình cho kim giây xoay và tạo bản sao.Hình 3.3.8. Kim giây tạo bản sao Cuối cùng, vào trang Thiết kế của đối tượng đồng hồ để sắp xếp lại vị trí các số. Hình 3.3.9. Sắp xếp vị trí các số của đồng hồ4.1. Hướng của đối tượng Ngầm định hướng của đối tượng là hướng 90o, tức là hướng sang phải. Các bạn có thể điều khiển để đối tượng hướng về một phía nhất định bằng khối lệnh . Chúng ta có thể thay đổi giá trị góc xoay tuỳ ý. Giá trị góc này chính là hướng của nhân vật đã được nhắc đến ở Bài 2 và được minh hoạ ở Hình 3.2.2. 4.2. Lập trình kim giây Khối lệnh chứa đầy đủ thông tin về ngày, tháng, năm, giờ, phút, giây của đồng hồ trên máy tính. Chạy thử khối lệnh và ta sẽ thấy được giá trị hiện tại của thời gian tương ứng. Hình 3.4.1. Khối lệnh thời gian với năm hiện tại và ngày hiện tại của máy tính Sau khi đã biết được giây hiện tại bằng cách chọn giây trong khối lệnh , chúng ta cần tính toán xem hướng mà kim giây phải xoay ứng với mỗi giây. Để quay hết một vòng tròn (360o) kim giây phải quay 60 lần, vậy mỗi lần kim giây sẽ quay một góc có giá trị bằng 360o/60 = 6o. Giây đầu tiên, kim quay về hướng góc 6o, giây tiếp theo là 12o và cứ như vậy.Hình 3.4.2. Hướng của kim giây Vậy giá trị góc của hướng sẽ bằng giây hiện tại nhân với 6, ghép lại bằng cách kéo thả khối lệnh lên khối lệnh khi nổi viền trắng thì thả chuột, các bạn sẽ có được giá trị góc cần phải xoay . Lưu ý: Di chuyểnkhối lệnh vào ôbên trái của khối lệnh . Ghép giá trị hướng vừa tính được vào khối lệnh xoay để điều khiển kim giây xoay về đúng góc. sẽ được sử Việc xoay này phải luôn được thực hiện, vì vậy khối lệnh dụng. Các bạn nhớ ghép vào dưới khối lệnh để kim có thể hoạt động khi chúng ta nháy lệnh .Hình 3.4.3. Đoạn khối lệnh chuyển động của Kim giâyĐể quay hết một vòng tròn (360o) kim phút phải quay 60 lần, vậy mỗi lần kim phút sẽ quay một góc có giá trị bằng 360o/60 = 6o và giống với kim giây. Vậy chúng ta chỉ cần lập trình giống với kim giây, nhưng thay vì lấy giá trị giây các bạn sẽlấy giá trị phút hiện tại . Đoạn khối lệnh chuyển động của kim phútKim giờ quay hết một vòng 360o ứng với 12 giờ, vậy mỗi giờ kim giờ phải xoay thêm một góc bằng 360o/12 = 30o. Vậy thì giá trị góc của hướng ứng với giờ hiện tại sẽ bằng giờ hiện tại nhân với 30 là . Hình 3.6.1. Hướng của kim giờ Tuy nhiên, ở chiếc đồng hồ thật thì khi chuyển giữa các giờ, kim giờ sẽ xoay từng chút một chứ không xoay đột ngột mỗi lần 30o, tức là giá trị góc của hướng sẽ bằng góc tính theo giờ hiện tại cộng với góc tính theo phút hiện tại.Hình 3.6.2. Hướng của kim giờ tính thêm góc theo phút Khi kim phút quay một vòng đủ 60 phút (hết một giờ) thì kim giờ sẽ xoay thêm một góc 300, vậy mỗi phút kim giờ sẽ xoay một góc 30o chia 60 bằng0.5o. Vậy góc tính theo phút sẽ bằng phút hiện tại nhân với 0.5 là và tổng hai góc đó sẽ là hướng của kim giờ. Hình 3.6.3. Đoạn khối lệnh chuyển động của kim giờ Chiếc đồng hồ đến đây đã được hoàn thành, các bạn có thể sáng tạo thêm bằng cách thêm quả lắc hoặc thêm chức năng hẹn giờ cho đồng hồ. Chúc các bạn thành công!CHƯ Trong chương này, các bạn sẽ được hướng dẫn để tạo ra một trò chơi rất hấp dẫn. Trong trò chơi này, các bạn sẽ đóng vai Nobita trong bộ phim hoạt hình Doraemon trả lời các câu hỏi là các phép tính để tiến lên đỉnh Olympia. Tổng quan chương trình Trong trò chơi, người chơi sẽ phải liên tục trả lời các câu hỏi toán học do nhân vật Doraemon đưa ra. Với mỗi câu trả lời đúng, nhân vật Nobita sẽ được tiến lên một bước. Để giành được chiến thắng, người chơi sẽ phải đưa Nobita lên đến đỉnh núi. Chương trình gồm có các nhân vật, đối tượng: 1. DoraemonNhân vật Doraemon sẽ liên tục đưa ra các câu hỏi, người chơi nhập câu trả lời từ bàn phím. 2. Nobita Mỗi khi người chơi trả lời đúng một câu hỏi của Doraemon, nhân vật Nobita sẽ được tiến lên một bước. Nếu Nobita tiến được đến đỉnh núi thì người chơi sẽ giành chiến thắng. Một số chức năng của chương trình như thêm âm thanh, thay đổi hình dạngNobita khi đến đích… sẽ không được hướng dẫn mà sẽ để trong phần Bài tập thực hành ở cuối mỗi bài. Các bạn cần làm bài tập đầy đủ để hoàn thiện chương trình.Ở những bài đầu tiên, các bạn sẽ được hướng dẫn để tạo bản đồ trò chơi. 1.1. Vẽ đường leo núi Trong phần tài liệu của bài học đã có sẵn hình nền là hình bản đồ đơn giản. Sau khi tải về và thêm vào chương trình, các bạn sẽ phải vẽ thêm đường leo núi vào bản đồ. Hình 4.1.1. Bản đồ đơn giản Trong khung nền sân khấu, nháy vào để đưa hình vào, chuyển đến khu thiết kế phông nền (Backdrop) bản đồ đã có sẵn một cái cây. Đường leo núi gồm 2 chữ U quay vào nhau và lệch nhau một đoạn. Ta sử dụng công cụ để viết một chữ U, sau đó phóng to và xoay ngang là được một nửa đường. Chữ U còn lại ta tạo bản sao từ chữ U đầu tiên rồi xoay ngược lại và sắp xếp lại. Thêm hình chữ nhật và hoàn thiện đường theo hình sau: B1. Viết chữ B2. Phóng to

B3. Xoay ngang B4. Sao chép và xoay ngược lại B5. Thêm hình chữ nhật B6. Sắp xếp lại để có đường Hình 4.1.2. Các bước vẽ đường Sao và dán hình cái cây để trang trí cho đường đi. Hình 4.1.3. Trang trí 1.2. Vẽ bậc