תוכן עניינים:

(פשוט מאוד) דוגמנות מחלות (באמצעות Scratch): 5 שלבים
(פשוט מאוד) דוגמנות מחלות (באמצעות Scratch): 5 שלבים

וִידֵאוֹ: (פשוט מאוד) דוגמנות מחלות (באמצעות Scratch): 5 שלבים

וִידֵאוֹ: (פשוט מאוד) דוגמנות מחלות (באמצעות Scratch): 5 שלבים
וִידֵאוֹ: אל תיגע לבחורה באיפור בחייםםם !!!! don't do that !!! 2024, נוֹבֶמבֶּר
Anonim
(פשוט מאוד) דוגמנות מחלות (באמצעות Scratch)
(פשוט מאוד) דוגמנות מחלות (באמצעות Scratch)

היום נדמה התפרצות מחלה, מכיוון שזוהי מחלה כלשהי, לאו דווקא COVID-19. סימולציה זו נוצרה בהשראת סרטון של 3blue1brown, שאליו אקשר. מכיוון שמדובר בגרירה ושחרור, איננו יכולים לעשות ככל שביכולתנו עם JS או Python, אך ישנם יתרונות גם לשימוש בשריטה, כך שאם אתה רוצה לראות כיצד לדגמן התפרצות עם JS, תוכל לצפות ב- שלי מאמר שכתבתי על דוגמנות התפרצויות מחלות כאן. עכשיו, בואו נתחיל!

הערה: התמונה למעלה היא מתוך סימולציה על ידי quantum9innovation (לא משתמש Instructables) שתוכל לצפות כאן.

אספקה:

אתה תצטרך:

  • חשבון גירוד (אתה יכול להירשם כאן
  • ידע בסיסי בגרירה ושחרור (אך עדיין אעבור על הקוד)
  • מחשב או מכשיר שאתה יכול לתכנת איתו (מה שכנראה יש לך מאז שאתה קורא את זה)
  • אופציונלי - צפה בסרטון 3b1b, הוא ייתן לך מושג מה אנו מתכנתים.

שלב 1: התקנה בסיסית

התקנה בסיסית
התקנה בסיסית

ראשית, בואו ליצור פרוייקט, נקרא לו מה שתרצו ולאחר מכן נמחק את הספרייט הקיים על הבד. אתה יכול לעשות זאת על ידי לחיצה על כפתור האשפה בספריט. עכשיו יש לנו קנבס ריק, ואתה יכול לשנות את צבע הרקע למה שאתה רוצה.

לאחר מכן, צור ספרייט חדש, ובמקום להשתמש ב- sprite קיים, צבע את שלך. הפוך אותו לנקודה כחולה. ספרייט זה מייצג את האוכלוסייה הרגישה של הקהילה, ותהיה לנו גם אוכלוסייה שהחלימה/הוסרה ונגועה, ומכאן מגיע שם המודל, SIR (רגיש, נגוע, התאושש/הוסר). הקפד לקרוא לשדון "לא נגוע".

כעת, צור ספרייט חדש (שוב), ותכנה אותו sprite1, אותו נצייר גם בעצמנו. תן לו כותרת "Sprite1" וצור 2 תחפושות, אחת צריכה להיות נקודה אדומה, והשנייה נקודה אפורה. הפוך אותם לתחפושת 1 ולתחפושת 2, בהתאמה. שני אלה מייצגים את אוכלוסיות הנגועות (הנקודה האדומה) והשחזור/הסרה (הנקודה האפורה).

שלב 2: הגדרת הקוד לאוכלוסייה הרגישה

הגדרת הקוד לאוכלוסייה הרגישה
הגדרת הקוד לאוכלוסייה הרגישה

כעת הגדרנו את קוד האוכלוסייה הרגיש. תחילה אנו יוצרים 2 משתנים: אנשים ונגועים. המשתנה "אנשים" מייצג את האוכלוסייה וניתן לשנות אותו בהתאם לכמה אנשים שאנחנו רוצים בסימולציה שלנו, והסימולציה תשתנה בהתאם. אנו יוצרים גם משתנה נגוע, וזה מייצג את האוכלוסייה שחלה/הייתה חולה במחלה. שני המשתנים הללו צריכים להיות משתנים גלובליים, כלומר ניתן להשתמש בהם בכל הספריות.

לאחר מכן, העתק את הקוד לעיל אל ספרייט הלא נגוע. בואו נלך על מה שהוא עושה. כאשר התוכנית מתחילה, הספרייט מוסתר, וזאת על מנת שלא נצטרך להכניס אותו קוד לשבוטים לתוך הספרייט עצמו, מה שעוזר. לאחר מכן, הגדרנו את שני המשתנים (נגועים ואנשים) למה שאנחנו רוצים שהם יהיו, במקרה זה, הגדרנו את הנגוע ל -1 ואנשים ל -100. המשמעות היא שנתחיל באדם אחד שנדבק וב -100 אנשים בסך הכל, לא כולל האדם הנגוע. לאחר מכן אנו מפעילים לולאה, המופעלת בכמות שמשתנה האנשים הוא, במקרה זה, 100. אנו הולכים למיקום אקראי ולאחר מכן יוצרים שיבוט של הספרייט. אנו הולכים לעמדה אקראית מכיוון שבדרך זו אין לנו שורת נקודות הנעים בכיוון אחד, ובמקום זאת משרצים בעמדות אקראיות.

שלב 3: הגדרת הקוד עבור ספרייט הנגוע והוסר

הגדרת הקוד עבור ספרייט הנגוע והוסר
הגדרת הקוד עבור ספרייט הנגוע והוסר

כעת, עבור אל ספרייט "Sprite1" ולאחר מכן העתק את הקוד למעלה. נעבור על זה. כאשר התוכנית מתחילה, הספריט מוסתר ולאחר מכן מפעילה לולאה עבור הסכום שהנגוע מוגדר אליו. הוא עובר למיקום אקראי ויוצר שיבוט של עצמו.

שלב 4: השלמת קוד האוכלוסייה הרגיש

השלמת קוד האוכלוסין הרגיש
השלמת קוד האוכלוסין הרגיש

בואו נעבור על הדברים שאנחנו צריכים לעשות:

  • לְהַדבִּיק
  • מהלך / לזוז / לעבור

עבור לספריט הלא נגוע, העתק את הקוד למעלה, ובוא נעבור כיצד הוא משלים את ההדבקה והזזה. ראשית, זה הולך לתחפושת אחת, וזה ממש לא הכרחי, אבל יש לנו את זה שם אז אם נחליט להוסיף עוד, אנחנו לא צריכים לדאוג שזה ישנה תחפושות לחדשות שהוספנו. לאחר מכן, זה מראה את עצמו. אם אתה זוכר, הסתירנו את הספריט המקורי, כך שהשיבוטים יוסתרו גם הם, מה שאנחנו לא רוצים. לאחר מכן אנו מפעילים לולאה לנצח, אשר תפעיל את כל התוכנית עד שמישהו ילחץ על שלט העצירה באפס. אנו גולשים למיקום אקראי למשך שנייה אחת ולאחר מכן בודקים אם אנחנו על הקצה, ובמקרה כזה אנחנו מקפיצים אותה. לאחר מכן, אם אנו נוגעים בצבע האדום, לאחר מכן אנו משבטים את Sprite1 (האוכלוסייה הנגועה/מוסרת) ומגדילים את המשתנה הנגוע ב -1, ולאחר מכן מוחקים את הספרייט שלנו.

שלב 5: השלמת הקוד הנגוע/הוסר

השלמת הקוד הנגוע/הוסר
השלמת הקוד הנגוע/הוסר

במעבר ל- Sprite1, אנו יוצרים רשימה חדשה, טיימר. רשימה זו תעקוב אחר משך הזמן שנדבקה נקודה, ולאחר פרק זמן מסוים היא מתה או מתאוששת, הופכת לחלק מהאוכלוסייה שהוסרה/התאוששה, והיא מיוצגת על ידי נקודה אפורה, שלא ניתן להדביק אותה מחדש.

העתק את הקוד למעלה ובוא נעבור עליו. כאשר אנו מתחילים כשיבוט אנו מכניסים את כמות השניות הכוללת שבה התוכנית רצה ברשימת הטיימרים, ונבדוק זאת כדי לראות כמה זמן היא נדבקת ונשנה אותה כדי לשחזר אותה בהתאם. אנו מסתירים את רשימת הטיימר ולאחר מכן מעבירים את תחפושת השיבוט לתחפושת הנגועה לכל מקרה, ואז מראים את הספרייט שלנו. כעת אנו מפעילים לולאה לנצח, בה קורים מספר דברים: אנו אומרים לשכפל לגלוש למיקום אקראי כל שנייה, בודקים אם המשתנה הנגוע גדול מהאוכלוסייה עצמה, ובמקרה זה הגדרנו אותו לאוכלוסייה, ו לבסוף, אנו הולכים ובודקים את הפריט הראשון של רשימת הטיימר כדי לראות אם עברו יותר מחמש שניות, ואם נכון אנו מעבירים את התחפושת לתחפושת ששוחזרה כדי שלא נוכל להדביק ולאחר מכן מוחקים את הפריט מהטיימר.

מוּמלָץ: