Giới thiệu

Dự án này gần giống trò chơi Đập chuột. Bạn ghi điểm khi đánh con ma xuất hiện trên màn hình. Mục tiêu là ghi thật nhiều điểm trong thời gian 30 giây.

screenshot

BƯỚC 1: Tạo hình bóng ma di chuyển

Bảng liệt kê hoạt động

  • Bắt đầu dự án mới bằng cách ấn biểu tượng Start a new scratch project
  • Xóa hình con mèo trên màn hình và thay bởi hình nền Nature/woods (Thiên nhiên).
  • Ấn vào biểu tượng ‘Choose sprite from library’ để thêm hình con ma mới (ghoul) cho dự án (Sử dụng tạo hình Fantasy/Ghost1).

Bây giờ, chúng ta cần làm cho con ma di chuyển

  • Thêm một “Variable” (“Biến”) cho riêng hình con ma, gọi là ‘speed’ (Tốc độ)
    Trên Stage (Màn hình chơi), hộp điều khiển biến này phải hiện “Ghost1 speed”.
    Nếu nó chỉ hiện tên “Speed”, xóa variable này và làm lại (Chỉ cho riêng hình con ma). Bỏ tick ô vuông bên cạnh hộp speed trong phần Data palette để nó không hiện trên màn hình chơi.

Biến speed điều khiển tốc độ di chuyển của con ma. Chúng ta dùng một biến mà có thể giúp thay đổi độ di chuyển nhanh chậm của con ma khi trò chơi bắt đầu.

+Chúng ta muốn con ma bắt đầu di chuyển khi trò chơi bắt đầu, nên viếts cript như sau:

khi nhấn vào @
đặt [speed v] là [5]
lặp mãi mãi
   di chuyển (speed) bước
end

Kiểm tra lại

Ấn vào lá cờ màu xanh và xem hoạt động của con ma. Tại sao nó bị kẹt ở rìa màn hình?

Bản liệt kê hoạt động

  • Để ngừng việc con mà bị kẹt, chúng ta cần khiến nó quay trở lại lối vào khác từ rìa màn hình. Chỉnh sửa bản script cũ của bạn bằng việc thêm hộp “If on edge, bounce’ dưới ‘move’, ‘speed’ và ‘step’.

khi nhấn vào @
đặt [speed v] là [5]
lặp mãi mãi
   di chuyển (speed) bước
   nếu chạm biên, bật lại
end

  • Để ngừng việc con ma quay ngược đầu, ấn vào ‘rotation style: left-right’ ở phần Sprite Summary.

Kiểm tra lại

Ấn vào cá cờ màu xanh
Con ma có di chuyển qua lại trên màn hình không?

Lưu lại công việc của bạn

Có thể thử thêm

  • __Thử thay đổi giá trị của biến speed để làm con ma bay nhanh hay chậm hơn
  • Làm thế nào để khiến con ma tăng tốc dần?
    (Việc này hơi khó, bạn không phải lo lắng nếu không làm được)
    Bạn sẽ có thêm nhiều mẹo trong quá trình làm dự án này)

BƯỚC 2: Làm con ma xuất hiện và biến mất bất chợt

Để trò chơi thêm thú vị, chúng ta có thể khiến con ma xuất hiaanj và biến mất bất ngờ. Chúng ta sẽ làm vậy với một bản script khác chạy song song với sự di chuyển của con ma. Nội dung của bản script mới này là giấu hình con ma đi một cách ngẫu nhiên, rồi lại hiện hình trở lại ngẫu nhiên, và lặp đi lặp lại.

Bản liệt kê hoạt động

Tạo bản script này cho con ma:

khi nhấn vào @
lặp mãi mãi
   ẩn
   đợi (lấy ngẫu nhiên trong khoảng (2) tới (5)) giây
   hiện
   đợi (lấy ngẫu nhiên trong khoảng (3) tới (5)) giây
end

Kiểm tra lại

Ấn vào biểu tượng lá cờ màu xanh
Con ma có di chuyển qua lại và biến mất rồi xuất hiện ngẫu nhiên trên màn hình?

Lưu lại công việc của bạn

Có thể thử thêm

  • Thử thay đổi thời gain. Chuyện gì xảy ra nếu bạn chọn số rất lớn/ rất nhỏ?
    (Việc này co cho bạn gợi ý nào về cách làm con ma tăng tốc dần?)

BƯỚC 3: Làm cho con ma biến mất khi người chơi click vào

Để chuyển thành một trò chơi, chúng ta cần cho người chơi một công cụ chơi. Họ cần click vào con ma để khiến nó biến mất. Khi người chơi clock vào con ma, chúng ta muốn nó biến mất và tạo ra âm thanh.

Bản liệt kê hoạt động

  • Trong phần Sounds, thêm âm thanh mới Electronuc/fairydust, sử dụng nút ‘Choose sound from library’.
  • Thêm phần script này cho con ma:

khi hình họa này được nhấn vào
ẩn
chơi âm thanh [Fairydust v]

Kiểm tra lại

Ấn vào biểu tượng lá cờ màu xanh.
Con ma có biến mất và tạo ra âm thanh khi bạn click vào nó?

Lưu lại công việc của bạn

Có thể thử thêm

  • Hỏi tình nguyện viên liệu bạn có thể tự thu âm thanh riêng của mình không.

BƯỚC 4: Thêm điểm số và thời gian

Chúng ta đã có con ma, nhưng giờ chúng ta muốn tạo trò chơi! Chúng ta muốn điểm số được khi lại mỗi khi người chơi click bào con ma, đồng thời giới hạn thời gian cho trò chơi. Chúng ta có thể dùng một viến khác cho điểm số và thời gian.

Bản liệt kê hoạt động

  • Thêm một ‘Variable’ mới cho tất cả các hình sprite, gọi là score, rồi thay thế script cho con ma để thêm biến này khi người chơi click vào con ma.

khi hình họa này được nhấn vào
ẩn
chơi âm thanh [Fairydust v]
thay đổi [score v] một lượng (1)

+Chuyển sang Stage và tạo Biến mới gọi là timer. Thêm script để lập thời gian là 30 và khởi động lại score về 0. Sau đó, dùng ‘repeat until’ rồi giảm ‘timer’ 1 (change timer by -1). Việc này cần lặp đi lặp lại cho đến khi timer bằng 0. Tại thời điểm này, dùng ‘stop all’ để dừng trò chơi.

khi nhấn vào @
đặt [đồng hồ bấm giờ v] là (30)
đặt [score v] là (0)
lặp cho tới khi <(đồng hồ bấm giờ) = [0]>
   đợi (1) giây
   thay đổi [đồng hồ bấm giờ v] một lượng (-1)
   ngừng [tất cả v]
end

Kiểm tra lại

Click vào biểu tượng lá cờ màu xanh.

Lưu công việc của bạn

Có thể thử thêm

  1. Làm thế nào để con ma tăng tốc trong quá trình chơi?
  2. Tốt lắm! Bạn đã làm xong trò chơi cơ bản. Có nhiều thứ khác bạn có thể làm thêm cho trò chơi này. Hãy tự khám phá!

Thử thách: Thêm ma

Nếu một con ma đã tốt, nhiều hơn càng tốt hơn! Hãy tạo ba con ma di chuyển.

  1. Nhân bản các con ma bằng click chuột phải vào danh sách hình sprite.
  2. Với mỗi con ma, điều chỉnh kích cỡ để các con ma to nhỏ khác nhau.
  3. Với mỗi con ma, thay đổi biến speed để chúng bay với tốc độ khác nhau
  4. Di chuyển các con ma xung quanh để chúng không bay cùng chỗ

Kiểm tra lại

Click vào biểu tượng lá cờ xanh.
Bạn có ba con ma di chuyển qua lại màn hình, xuất hiện và biến mất ngẫu nhiên, và biến mất mỗi khi bạn click vào không?

Lưu lại

Có thể thử thêm

  1. Bao nhiêu bóng ma là đủ?
  2. Bạn có thể làm cho những con ma trông khác nhau không? Bạn nên chỉnh sửa phần costume, hoặc sử dụng các block trong phần ‘Looks palette’ cho việc này.
  3. Bạn có thể gắn giá trị điểm khác nhau cho mỗi con ma? Ví dụ, làm con ma bay nhanh nhất (và kích thước nhỏ nhất) ứng với 10 điểm?

Tốt lắm! Bạn đã hoàn thành. Giờ bạn có thể thưởng thức trò chơi rồi
Đừng quên bạn có thể chia sẻ trò chơi của mình với bạn bè và gia đình bằng cách click vào Share trên thanh menu!