Mündəricat:

(Çox Sadə) Xəstəlik Modelləşdirilməsi (Scratch istifadə edərək): 5 Addım
(Çox Sadə) Xəstəlik Modelləşdirilməsi (Scratch istifadə edərək): 5 Addım

Video: (Çox Sadə) Xəstəlik Modelləşdirilməsi (Scratch istifadə edərək): 5 Addım

Video: (Çox Sadə) Xəstəlik Modelləşdirilməsi (Scratch istifadə edərək): 5 Addım
Video: Ürəyinizin xəstə olduğunu göstərən 8 ƏLAMƏT 2024, Noyabr
Anonim
(Çox Sadə) Xəstəlik Modelləşdirilməsi (Scratch istifadə edərək)
(Çox Sadə) Xəstəlik Modelləşdirilməsi (Scratch istifadə edərək)

Bu gün, hər hansı bir xəstəlik olmaqla, mütləq COVID-19 deyil, bir xəstəliyin yayılmasını simulyasiya edəcəyik. Bu simulyasiya, link verəcəyim 3blue1brown videosundan ilhamlandı. Bu sürüklənmə olduğundan JS və ya Python ilə bacardığımız qədər çox şey edə bilmərik, ancaq sıfırdan istifadə etməyin də faydaları var, buna görə də JS ilə bir epidemiyanı necə modelləşdirəcəyinizi görmək istəyirsinizsə, Xəstəliklərin modelləşdirilməsi ilə bağlı yazdığım məqalə. İndi başlayaq!

Qeyd: Yuxarıdakı şəkil, burada görə biləcəyiniz kvant9innovasiyanın (Instructables istifadəçisi deyil) bir simulyasiyasından ibarətdir.

Təchizat:

Lazım olacaq:

  • Scratch Hesabı (burada qeydiyyatdan keçə bilərsiniz
  • Sürükle və buraxma haqqında əsas biliklər (amma yenə də kodu keçəcəyəm)
  • Proqramlaşdıra biləcəyiniz bir kompüter və ya cihaz (bunu oxuduğunuz üçün ehtimal ki)
  • İsteğe bağlı - 3b1b videoya baxın, sizə proqramlaşdırdığımız şey haqqında bir az fikir verəcəkdir.

Addım 1: Əsas Quraşdırma

Əsas Quraşdırma
Əsas Quraşdırma

Əvvəlcə bir layihə yaradaq, istədiyinizə ad qoyaq və sonra kətandakı mövcud spriti silək. Bunu sprite üzərindəki zibil qutusuna basaraq edə bilərsiniz. İndi boş bir kətan var və arxa plan rəngini istədiyinizə dəyişə bilərsiniz.

Sonra yeni bir sprite yaradın və mövcud bir sprite istifadə etmək əvəzinə özünüzü rəngləyin. Mavi nöqtəyə çevirin. Bu sprite, cəmiyyətin həssas əhalisini təmsil edir və eyni zamanda, SIR (həssas, yoluxmuş, sağalmış/çıxarılmış) modelin adının gəldiyi, sağalan/çıxarılmış və yoluxmuş bir əhaliyə sahib olacağıq. Sprite "yoluxmamış" adlandırdığınızdan əmin olun.

İndi (yenidən) yeni bir sprite yaradın və adını sprite1 adlandırın ki, biz də özümüzü boyayaq. Başlıq "Sprite1" və 2 kostyum yaradın, biri qırmızı, digəri boz nöqtə olmalıdır. Onları sırasıyla kostyum1 və kostyum2 edin. Bu ikisi yoluxmuş (qırmızı nöqtə) və sağalmış/çıxarılmış (boz nöqtə) populyasiyanı təmsil edir.

Addım 2: Həssas Əhali üçün Kodun Qurulması

Həssas əhali üçün kodun qurulması
Həssas əhali üçün kodun qurulması

İndi həssas əhali kodunu qurduq. Əvvəlcə 2 dəyişən yaradırıq: insanlar və yoluxmuşlar. "İnsanlar" dəyişənliyi əhalini təmsil edir və simulyasiyamızda neçə nəfər istədiyimizə görə dəyişdirilə bilər və simulyasiya da buna uyğun olaraq dəyişəcək. Həm də yoluxmuş bir dəyişən yaradırıq və bu, xəstəliyi olan/olan əhalini təmsil edir. Bu dəyişənlərin hər ikisi qlobal dəyişənlər olmalıdır, yəni bütün spritlərdə istifadə edilə bilər.

Sonra, yuxarıdakı kodu yoluxmamış sprite kopyalayın. Gəlin nə etdiyini araşdıraq. Proqram başladıqda, sprite gizlənir və buna görə də klonlar üçün eyni kodu sprite daxil etməyimizə ehtiyac yoxdur. Sonra, iki dəyişəni (yoluxmuş və insanlar) istədikləri kimi təyin edirik, bu halda yoluxmuşları 1, insanları 100 olaraq təyin edirik. yoluxmuş şəxs daxil deyil. Daha sonra, bu halda, insanlar dəyişəninin miqdarı 100 olan bir döngəni işə salırıq. Təsadüfi bir mövqeyə gedirik və sonra sprite klonunu yaradırıq. Təsadüfi bir mövqeyə gedirik, çünki bu şəkildə bir istiqamətdə hərəkət edən nöqtələr xətti yoxdur və bunun yerinə təsadüfi mövqelərdə yumurtlayırıq.

Addım 3: Yoluxmuş və Silinmiş Sprite üçün Kodun Qurulması

Yoluxmuş və Silinmiş Sprite üçün Kodun Qurulması
Yoluxmuş və Silinmiş Sprite üçün Kodun Qurulması

İndi "Sprite1" sprite -ə keçin və sonra yuxarıdakı kodu kopyalayın. Gəlin keçək. Proqram başladıqda, sprite gizlənir və sonra yoluxmuş olduğu məbləğ üçün bir döngə işə salınır. Təsadüfi mövqeyə gedir və özünün klonunu yaradır.

Addım 4: Həssas Əhali Kodunun Tamamlanması

Həssas Əhali Məcəlləsinin tamamlanması
Həssas Əhali Məcəlləsinin tamamlanması

Etməli olduğumuz şeyləri nəzərdən keçirək:

  • Yoluxdurmaq
  • Hərəkət et

Yoluxmamış sprite keçin, yuxarıdakı kodu kopyalayın və yoluxma və hərəkət etməni necə tamamladığına baxaq. Birincisi, kostyum birinə gedir və bu, həqiqətən də lazım deyil, amma bizdə var, buna görə də daha çoxunu əlavə etmək qərarına gəlsək, kostyumları əlavə etdiyimiz paltarlara dəyişdirməkdən narahat olmuruq. Sonra özünü göstərir. Xatırlayırsınızsa, orijinal spriti gizlətdik, buna görə də istəmədiyimiz klonlar da gizlənəcək. Sonra kimsə sıfırdan dayanma işarəsini vurana qədər bütün proqramı işlədən əbədi bir döngə işə salırıq. 1 saniyə təsadüfi bir mövqeyə sürüşürük və sonra kənarda olub -olmadığımızı yoxlayırıq, bu halda ondan sıçrayırıq. Sonra, qırmızı rəngə toxunsaq, Sprite1 -i (yoluxmuş/silinmiş əhali) klonlayırıq və yoluxmuş dəyişəni 1 artırırıq, sonra sprite -ni silirik.

Addım 5: Yoluxmuş/Silinmiş Kodu Tamamlayın

Yoluxmuş/Silinmiş Kodun tamamlanması
Yoluxmuş/Silinmiş Kodun tamamlanması

Sprite1 -ə keçərək yeni bir siyahı, taymer yaradırıq. Bu siyahı bir nöqtənin nə qədər yoluxduğunu izləyəcək və müəyyən bir müddətdən sonra ya ölür, ya da sağalır, çıxarılan/bərpa olunan əhalinin bir hissəsinə çevrilir və yenidən infeksiyalana bilməyən boz bir nöqtə ilə təmsil olunur.

Yuxarıdakı kodu kopyalayın və keçək. Bir klon olaraq başladıqda, proqramın işlədiyi saniyələrin ümumi sayını taymer siyahısına daxil edirik və bunun nə qədər yoluxduğunu görmək və buna uyğun olaraq bərpa olunmaq üçün dəyişdirmək üçün bunu yoxlayacağıq. Taymer siyahısını gizlədirik və sonra hər halda klon kostyumunu yoluxmuş kostyuma keçirik və sonra spritimizi göstəririk. İndi birdən çox şeyin baş verdiyi əbədi bir döngə işlədirik: klona hər saniyədə təsadüfi bir mövqeyə sürüşməsini söyləyirik, yoluxmuş dəyişənin populyasiyanın özündən daha böyük olub olmadığını yoxlayırıq, bu halda onu populyasiyaya təyin edirik və nəhayət, 5 saniyədən çox olub olmadığını öyrənmək üçün timer siyahısının ilk maddəsini yoxlayırıq və əgər doğrudursa, yoluxa bilməyəcəyimiz üçün kostyumu bərpa edilmiş kostyuma keçirik və sonra elementi taymerdən silin.

Tövsiyə: