Cư Sĩ Phật Giáo

Buddhists for a better world

Bài 7 : Trò chơi “Thổi Sao Biển” (Lập trình Scratch) – Hoàng Ngọc Giao

Bài 7 : Trò chơi “Thổi Sao Biển”   –  Hoàng Ngọc Giao

Những lúc bạn ngừng thổi, sao biển từ từ “hạ cánh an toàn”. Đó là nhờ sao biển đã được lập trình như sau:

 

Lần nầy ta thử bày trò như sau: thổi sao biển bay lên thật khéo, sao cho vừa vặn đạt được độ cao nhất định, tại đó có sẳn vật hứng, một chiếc nón chẳng hạn. Với mổi chú sao biển rơi vào nón,người chơi được một điểm. Sau một phút, ai thổi sao biển vào nón nhiều nhất là người thắng cuộc.

  1. Chiếc nón: Để thực hiện ý định vừa nêu, trước hết bạn cần có thêm chiếc nón. Bạn bấm nút “Thêm nhân vật mới”,bấm kép vào thư mục Things,tìm đến “Chiếc nón kỳ diệu”(wizardhat) ở cuối thư mục và bấm kép vào đó. Chiếc nón trở thành nhân vật thứ 2 trên sân khấu.

    Bạn kéo nón dịch qua trái một chút, tránh đường bay của sao biển. Ta cần làm cho nón lật ngược để hứng sao biển.Bạn chọn mục “Hình dạng”(phía trên khung kịch bản), bấm nút “Chỉnh sửa” trong Wizardhat. Xuất hiện một cửa sổ mang tên “Môi trường vẽ” giúp bạn chỉnh sửa tùy ý mặt mủi nhân vật.

 

Bấm nút “Trôi dọc” để lật ngược hình, bạn có ngay kết quả: miệng nón hướng lên trên. Bạn bấm nút “Đặt tâm hình dạng” và bấm vào điểm cao nhất của chiếc nón. Ở bước tiếp theo, khi xác định tọa độ của nón,bạn hiểu rằng đó chính là tọa độ của điểm mà bạn vừa chọn. Vậy là đủ, không cần chỉnh sửa gì nửa. Bạn bấm nút OK để đóng cửa sổ “Môi trường vẽ”.

  1. Điều khiểnchiếc nón: Bạn chọn mục “Kịch bản” rồi chuyển qua khung chứa thẻ “Điều khiển”, kéo thẻ “Khi cờ xanh được ấn” vào khung kịch bản. Chuyển qua khung chứa thẻ “Chuyển động”, bạn kéo thẻ “Nhảy tới x:0 y:0” gắn vào dưới thẻ “Khi cờ xanh được ấn”.Bạn quy định tọa độ x là -70 và y là 65 trong thẻ “Nhảy tới x:0 y:0”.Nhờ vậy, sau nầy mổi khi chạy chương trình chiếc nón luôn có vị trí ban đầu định sẳn, không đổi.
  2. Hình sao biển: Bạn bấm vào hình sao biển trong khung nhân vật , để trở lại với kịch bản của sao biển. Theo kịch bản hiện có, khi âm lượng (độ lớn của âm thanh = độ ồn) lớn hơn 20, sao biển dịch lên trên. Trái lại, khi độ ồn không lớn hơn 20 do bạn thổi yếu đi hay ngừng thổi, sao biển dịch xuống dưới.

     Ta cần chú ý trường hợp “thổi yếu đi”, cụ thể là khi âm lượng vẩn còn lớn hơn 10 (chưa ngừng thổi). Khi đó, cần xem sao biển có vừa tầm chiếc nón hay không. Nếu vừa tầm, ta cho sao biển dịch sang trái và “biến mất” (người chơi có cảm giác sao biển rơi vào nón). Nếu ta thể hiện được điều vừa nói trong kịch bản, người chơi sẽ phải chú ý thổi yếu đi khi sao biển vừa tầm chiếc nón nếu muốn sao biển rơi vào nón (sau khi thổi đủ mạnh để sao biển bay lên).

  1. Đặt điều kiện: Chuyển qua khung chứa thẻ “Điều khiển”, bạn kéo thẻ “nếu” vào khung kịch bản, ráp vào dưới thẻ “nếu” có sẳn, thuộc trường hợp “Trái lại”.

 

Tại ô điều kiện (ô lục giác) của thẻ “Nếu” vừa tạo ra. Ta cần diển đạt điều kiện: âm lượng lớn hơn 10 và tọa độ y nằm trong khoảng từ 55 đến 85 (“vừa tầm” là như vậy đó).

       Chuyển qua ô chứa thẻ “Các phép toán”, bạn kéo thẻ “Và”  ,thả đâu đó trong khu kịch bản, bên dưới vòng lặp. Bạn kéo thẻ “Lớn Hơn” gắn vào ô trái của thẻ “Và”. Bạn kéo thẻ “Nhỏ hơn”  gắn vào ô phải của thẻ “Và” .

       Chuyển qua khung chứa thẻ “Chuyển động”, bạn kéo thẻ “Vị trí y” vào thẻ “Lớn hơn” và thẻ “Nhỏ hơn” rồi ghi thêm tọa độ cụ thể để diển đạt điều kiện ”y lớn hơn 55 và y nhỏ hơn 85”.

     Đó mới là điều kiện thứ nhất. Bạn cần tạo thêm thẻ “độ ồn>10” (đặt ở đâu đó bên dưới điều kiện thứ nhất) để diển tả điều kiện thứ 2 : âm lượng lớn hơn 10. Để “đặt điều kiện”, bạn chuyển qua khung chứa thẻ “Các phép toán”, kéo thẻ , thả đâu đó trong khu kịch bản, bên dưới vòng lặp.  Đó là điều kiện “cái nầy lớn hơn cái kia”. Trong khung chứa thẻ “Giác quan”, bạn kéo  thẻ “độ ồn” bỏ vào trong hình vuông thứ nhất trước dấu >.Còn trong hình vuông thứ hai phía sau dấu >, bạn gỏ số 10: Độ ồn>10 .

           Để kết hợp hai điều kiện, bạn chuyển qua ô chứa thẻ “Các phép toán”, bạn kéo thẻ “Và”  ,thả đâu đó trong khu kịch bản, bên dưới vòng lặp.

 Bạn kéo thẻ ”y lớn hơn 55 và y nhỏ hơn 85”.  gắn vào ô trái của thẻ “Và”. Bạn kéo thẻ “độ ồn>10”  gắn vào ô phải của thẻ “Và”.Ta có kết quả là thẻ “Độ ồn >10 và vị trí y >55 và vị trí y <85”.

    Gắn thẻ trên vào ô điều kiện còn trống của thẻ “Nếu” trong vòng lặp: Nếu Độ ồn >10 và vị trí y >55 và vị trí y <85”.Khi điều kiện nầy được thỏa, ta cho sao biển di chuyển qua trái để rơi vào nón.

    Chuyển qua khung chứa thẻ “Chuyển động”, bạn kéo thẻ “Thay đổi x một lượng 10” vào trong lòng thẻ “Nếu” còn bỏ trống và sửa độ dịch chuyển của x thành -100.Điều bạn vừa thực hiện làm cho sao biển “xẹt “sang trái 100 điểm ảnh để rơi vào nón. Có lẽ dịch chuyển như “sao xẹt” không hay bằng sự lướt nhẹ êm ru như gió thoảng. Để dịch chuyển thật “dịu dàng” trên khoảng cách 100 điểm ảnh,bạn làm theo cách khác: dùng một vòng lặp chạy 50 lần, mổi lần sẽ dịch chuyển sao biển 2 điểm ảnh mà thôi.

 

   Muốn vậy, bạn sửa độ dịch chuyển -100 thành -2 trong thẽ “Thay đổi x”. Bạn chuyển qua khung chứa thẻ “Điều khiển”, lấy thẻ “Lặp lại 10” kẹp bên ngoài thẻ “Thay đổi x” và sửa số lần lặp thành 50.

   Sau màn trình diển “rẻ trái”, bạn cần làm cho sao biển biến mất và tái hiện ở vị trí ban đầu (xem như “ma mới”). Bạn kéo thẻ “Nhảy tới..” vào trong thẻ “Nếu”, gắn vào dưới thẻ “Lặp lại” và sửa tọa độ y trong thẻ mới thêm thành -100 (tọa độ x vẩn giử nguyên là 0).

  1. Chạy thử: Bạn bấm nút “Cờ xanh” để chạy thử chương trình. Bạn cố gắng thổi vừa đủ để sao biển đến gần miệng nón  và nhảy ngang ở đó. Bạn có thể thổi mạnh cho sao biển vọt lên rồi giúp cho sao biển rơi vào nón.Cách sau dể hơn nhưng tốn thêm chút thời gian.

 

Scratch_Echip_184:

http://www.mediafire.com/?81a9bfdro8ow3hl

Advertisements

Single Post Navigation

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: