Mục lục:

(Rất đơn giản) Mô hình bệnh (sử dụng Scratch): 5 bước
(Rất đơn giản) Mô hình bệnh (sử dụng Scratch): 5 bước

Video: (Rất đơn giản) Mô hình bệnh (sử dụng Scratch): 5 bước

Video: (Rất đơn giản) Mô hình bệnh (sử dụng Scratch): 5 bước
Video: Lập trình Scratch cơ bản cho người mới bắt đầu - Bài 1: Làm quen với Scratch 2024, Tháng mười một
Anonim
(Rất đơn giản) Mô hình bệnh (sử dụng Scratch)
(Rất đơn giản) Mô hình bệnh (sử dụng Scratch)

Hôm nay, chúng ta sẽ mô phỏng một đợt bùng phát dịch bệnh, với nó là bất kỳ bệnh nào, không nhất thiết phải là COVID-19. Mô phỏng này được lấy cảm hứng từ một video của 3blue1brown, mà tôi sẽ liên kết đến. Vì đây là thao tác kéo và thả, chúng tôi không thể làm nhiều như chúng tôi có thể với JS hoặc Python, nhưng cũng có những lợi ích khi sử dụng cào, vì vậy, nếu bạn muốn xem cách lập mô hình bùng phát với JS, bạn có thể xem của tôi bài báo mà tôi đã viết về mô hình bùng phát dịch bệnh ở đây. Bây giờ, hãy bắt đâù!

Lưu ý: Hình ảnh trên là từ mô phỏng của quantum9innovation (không phải người dùng có thể hướng dẫn) mà bạn có thể xem tại đây.

Quân nhu:

Có thể bạn sẽ cần:

  • Tài khoản Scratch (bạn có thể đăng ký tại đây
  • Kiến thức cơ bản về kéo và thả (nhưng tôi vẫn sẽ xem qua mã)
  • Máy tính hoặc thiết bị mà bạn có thể lập trình (mà bạn có thể có, vì bạn đang đọc bài viết này)
  • Tùy chọn - Xem video 3b1b, nó sẽ cung cấp cho bạn một số ý tưởng về những gì chúng tôi đang lập trình.

Bước 1: Thiết lập cơ bản

Thiết lập cơ bản
Thiết lập cơ bản

Đầu tiên, hãy tạo một dự án, đặt tiêu đề cho dự án đó là bất cứ thứ gì bạn muốn, sau đó xóa hình vẽ hiện có trên canvas. Bạn có thể làm điều này bằng cách nhấp vào nút thùng rác trên sprite. Bây giờ chúng ta có một canvas trống và bạn có thể thay đổi màu nền thành bất kỳ màu gì bạn muốn.

Tiếp theo, tạo một hình vẽ mới và thay vì sử dụng một hình vẽ hiện có, hãy vẽ hình của riêng bạn. Đặt nó thành một chấm màu xanh lam. Sprite này đại diện cho quần thể nhạy cảm của cộng đồng và chúng tôi cũng sẽ có một quần thể được phục hồi / loại bỏ và bị nhiễm, đó là nơi xuất phát tên của mô hình, SIR (nhạy cảm, bị nhiễm, phục hồi / bị loại bỏ). Đảm bảo đặt tên cho sprite là "không bị nhiễm".

Bây giờ, tạo một sprite mới (một lần nữa) và đặt tên nó là sprite1, chúng ta cũng sẽ tự vẽ. Đặt tên nó là "Sprite1" và tạo 2 bộ trang phục, một bộ phải là một chấm đỏ và một là một chấm xám. Làm cho chúng lần lượt là trang phục1 và trang phục2. Hai điều này đại diện cho quần thể bị nhiễm (chấm đỏ) và phục hồi / loại bỏ (chấm xám).

Bước 2: Thiết lập mã cho dân số nhạy cảm

Thiết lập quy tắc cho dân số nhạy cảm
Thiết lập quy tắc cho dân số nhạy cảm

Bây giờ chúng tôi thiết lập mã dân số nhạy cảm. Đầu tiên chúng ta tạo 2 biến: người và bị nhiễm. Biến "Mọi người" đại diện cho dân số và có thể được thay đổi tùy theo số lượng người mà chúng ta muốn trong mô phỏng của mình và mô phỏng sẽ thay đổi tương ứng. Chúng tôi cũng tạo một biến bị nhiễm và biến này đại diện cho dân số đã / mắc bệnh. Cả hai biến này phải là biến toàn cục, có nghĩa là chúng có thể được sử dụng trong tất cả các sprite.

Tiếp theo, sao chép đoạn mã trên vào sprite không bị nhiễm. Hãy xem qua những gì nó làm. Khi chương trình bắt đầu, sprite bị ẩn, và điều này là do đó chúng tôi không phải đặt cùng một mã cho các bản sao vào chính sprite, điều này sẽ hữu ích. Sau đó, chúng tôi đặt hai biến (bị nhiễm và số người) thành những gì chúng tôi muốn họ trở thành, trong trường hợp này, chúng tôi đặt số bị nhiễm là 1 và số người là 100. Điều này có nghĩa là chúng tôi bắt đầu với một người bị nhiễm và tổng số 100 người, không bao gồm người bị nhiễm bệnh. Sau đó, chúng tôi chạy một vòng lặp, chạy số lượng mà biến people, trong trường hợp này là 100. Chúng tôi đi đến một vị trí ngẫu nhiên và sau đó tạo một bản sao của sprite. Chúng ta đi đến một vị trí ngẫu nhiên bởi vì theo cách này, chúng ta không có một đường chấm di chuyển theo một hướng, và thay vào đó chúng sinh ra ở các vị trí ngẫu nhiên.

Bước 3: Thiết lập mã cho Sprite bị nhiễm và loại bỏ

Thiết lập mã cho Sprite bị nhiễm và loại bỏ
Thiết lập mã cho Sprite bị nhiễm và loại bỏ

Bây giờ, chuyển sang sprite "Sprite1" và sau đó sao chép mã ở trên. Hãy đi qua nó. Khi chương trình bắt đầu, sprite bị ẩn, sau đó chạy một vòng lặp cho số lượng bị nhiễm được đặt thành. Nó đi đến một vị trí ngẫu nhiên và tạo ra một bản sao của chính nó.

Bước 4: Hoàn thành Bộ quy tắc dân số khả nghi

Hoàn thành Bộ luật dân số dễ bị nghi ngờ
Hoàn thành Bộ luật dân số dễ bị nghi ngờ

Hãy xem qua những việc chúng ta cần làm:

  • Lây nhiễm
  • Di chuyển

Chuyển sang sprite Uninfected, sao chép đoạn mã ở trên và xem cách nó hoàn thành việc lây nhiễm và di chuyển. Đầu tiên, nó chuyển sang trang phục một, và điều này thực sự không cần thiết, nhưng chúng tôi có nó ở đó nên nếu chúng tôi quyết định thêm nhiều hơn, chúng tôi không phải lo lắng về việc nó thay đổi trang phục mới mà chúng tôi đã thêm. Tiếp theo, nó hiển thị chính nó. Nếu bạn nhớ, chúng tôi đã ẩn bản sao gốc, vì vậy các bản sao cũng sẽ bị ẩn, điều mà chúng tôi không muốn. Sau đó, chúng tôi chạy một vòng lặp mãi mãi, vòng lặp này sẽ chạy toàn bộ chương trình cho đến khi ai đó nhấp vào dấu dừng ngay từ đầu. Chúng tôi lướt đến một vị trí ngẫu nhiên trong 1 giây, và sau đó kiểm tra xem chúng tôi có đang ở cạnh hay không, trong trường hợp đó chúng tôi sẽ trả lại vị trí đó. Tiếp theo, nếu chúng ta chạm vào màu đỏ, thì chúng ta sao chép Sprite1 (quần thể bị nhiễm / bị loại bỏ) và tăng biến bị nhiễm lên 1, tiếp theo là xóa sprite của chúng ta.

Bước 5: Hoàn thành mã bị nhiễm / loại bỏ

Hoàn thành mã bị nhiễm / loại bỏ
Hoàn thành mã bị nhiễm / loại bỏ

Chuyển sang Sprite1, chúng tôi tạo một danh sách mới, bộ đếm thời gian. Danh sách này sẽ theo dõi thời gian một chấm bị nhiễm và sau một khoảng thời gian nhất định, nó chết hoặc phục hồi, trở thành một phần của quần thể bị xóa / phục hồi và được biểu thị bằng một chấm màu xám, không thể được hoàn thiện lại.

Sao chép đoạn mã trên và xem qua nó. Khi chúng tôi bắt đầu dưới dạng bản sao, chúng tôi chèn tổng số giây chương trình đã chạy trong danh sách bộ đếm thời gian và chúng tôi sẽ kiểm tra điều này để xem nó đã bị nhiễm trong bao lâu và thay đổi để khôi phục nó cho phù hợp. Chúng tôi ẩn danh sách hẹn giờ và sau đó chuyển trang phục nhân bản sang trang phục bị nhiễm bệnh để đề phòng, và sau đó hiển thị hình ảnh của chúng tôi. Bây giờ chúng tôi chạy một vòng lặp mãi mãi, trong đó nhiều điều xảy ra: chúng tôi yêu cầu bản sao lướt đến một vị trí ngẫu nhiên cứ sau một giây, kiểm tra xem biến bị nhiễm có lớn hơn chính quần thể đó hay không, trong trường hợp đó chúng tôi đặt nó thành tổng thể và cuối cùng, chúng tôi đi và kiểm tra mục đầu tiên của danh sách hẹn giờ xem nó đã hơn 5 giây chưa, và nếu đúng, chúng tôi chuyển trang phục sang trang phục phục hồi để chúng tôi không thể lây nhiễm, và sau đó xóa mục đó khỏi bộ đếm thời gian.

Đề xuất: