Πίνακας περιεχομένων:

(Πολύ απλό) Μοντελοποίηση ασθενειών (χρησιμοποιώντας Scratch): 5 βήματα
(Πολύ απλό) Μοντελοποίηση ασθενειών (χρησιμοποιώντας Scratch): 5 βήματα

Βίντεο: (Πολύ απλό) Μοντελοποίηση ασθενειών (χρησιμοποιώντας Scratch): 5 βήματα

Βίντεο: (Πολύ απλό) Μοντελοποίηση ασθενειών (χρησιμοποιώντας Scratch): 5 βήματα
Βίντεο: Πληροφορική στο Δημοτικό: Σχεδιάζοντας ένα μάθημα - Καράκιζα Τσαμπίκα 2024, Νοέμβριος
Anonim
(Πολύ απλό) Μοντελοποίηση ασθενειών (χρησιμοποιώντας Scratch)
(Πολύ απλό) Μοντελοποίηση ασθενειών (χρησιμοποιώντας Scratch)

Σήμερα, θα προσομοιώσουμε ένα ξέσπασμα ασθένειας, με οποιαδήποτε ασθένεια, όχι απαραίτητα COVID-19. Αυτή η προσομοίωση εμπνεύστηκε από ένα βίντεο του 3blue1brown, στο οποίο θα συνδέσω. Δεδομένου ότι αυτό είναι drag and drop, δεν μπορούμε να κάνουμε όσο μπορούμε με JS ή Python, αλλά υπάρχουν και οφέλη από τη χρήση του scratch επίσης, οπότε, αν θέλετε να δείτε πώς να μοντελοποιήσετε μια έξαρση με JS, μπορείτε να δείτε το δικό μου άρθρο που έγραψα σχετικά με τις επιδημίες μοντέλων εδώ. Τώρα, ας ξεκινήσουμε!

Σημείωση: Η παραπάνω εικόνα προέρχεται από προσομοίωση με quantum9inovation (όχι χρήστης του Instructables) την οποία μπορείτε να δείτε εδώ.

Προμήθειες:

Θα χρειαστείς:

  • Ένας λογαριασμός Scratch (μπορείτε να εγγραφείτε εδώ
  • Βασικές γνώσεις μεταφοράς και απόθεσης (αλλά θα συνεχίσω τον κώδικα)
  • Υπολογιστής ή συσκευή με την οποία μπορείτε να προγραμματίσετε (που πιθανότατα έχετε, αφού διαβάζετε αυτό)
  • Προαιρετικά - Δείτε το βίντεο 3b1b, θα σας δώσει μια ιδέα για το τι προγραμματίζουμε.

Βήμα 1: Βασική ρύθμιση

Βασική ρύθμιση
Βασική ρύθμιση

Αρχικά, ας δημιουργήσουμε ένα έργο, να το ονομάσουμε όπως θέλουμε και στη συνέχεια να διαγράψουμε το υπάρχον sprite στον καμβά. Μπορείτε να το κάνετε αυτό κάνοντας κλικ στο κουμπί απορριμμάτων στο Sprite. Τώρα έχουμε έναν κενό καμβά και μπορείτε να αλλάξετε το χρώμα του φόντου σε ό, τι θέλετε.

Στη συνέχεια, δημιουργήστε ένα νέο Sprite και αντί να χρησιμοποιήσετε ένα υπάρχον Sprite, βάψτε το δικό σας. Κάντε το μπλε κουκκίδα. Αυτό το sprite αντιπροσωπεύει τον ευαίσθητο πληθυσμό της κοινότητας και θα έχουμε επίσης έναν ανακτημένο/αφαιρεμένο και μολυσμένο πληθυσμό, από όπου προέρχεται το όνομα του μοντέλου, SIR (ευαίσθητο, μολυσμένο, ανακτημένο/αφαιρεμένο). Βεβαιωθείτε ότι έχετε ονομάσει το sprite "μη μολυσμένο".

Τώρα, δημιουργήστε ένα νέο sprite (ξανά) και ονομάστε το sprite1, το οποίο επίσης θα ζωγραφίσουμε μόνοι μας. Ονομάστε το "Sprite1" και δημιουργήστε 2 κοστούμια, το ένα πρέπει να είναι κόκκινη κουκίδα και το άλλο μια γκρίζα κουκκίδα. Κάντε τα κοστούμια1 και κοστούμια2, αντίστοιχα. Αυτά τα δύο αντιπροσωπεύουν τους μολυσμένους πληθυσμούς (την κόκκινη κουκκίδα) και τους ανακτημένους/αφαιρούμενους (την γκρίζα κουκκίδα).

Βήμα 2: Ρύθμιση του κώδικα για τον ευαίσθητο πληθυσμό

Ρύθμιση του κώδικα για τον ευαίσθητο πληθυσμό
Ρύθμιση του κώδικα για τον ευαίσθητο πληθυσμό

Τώρα ρυθμίζουμε τον ευαίσθητο πληθυσμιακό κώδικα. Αρχικά δημιουργούμε 2 μεταβλητές: άτομα και μολυσμένα. Η μεταβλητή "Άνθρωποι" αντιπροσωπεύει τον πληθυσμό και μπορεί να αλλάξει ανάλογα με το πόσα άτομα θέλουμε στην προσομοίωσή μας και η προσομοίωση θα αλλάξει ανάλογα. Δημιουργούμε επίσης μια μολυσμένη μεταβλητή και αυτό αντιπροσωπεύει τον πληθυσμό που έχει/είχε την ασθένεια. Και οι δύο αυτές μεταβλητές θα πρέπει να είναι καθολικές μεταβλητές, πράγμα που σημαίνει ότι μπορούν να χρησιμοποιηθούν σε όλα τα sprites.

Στη συνέχεια, αντιγράψτε τον παραπάνω κώδικα στο μη μολυσμένο sprite. Ας δούμε τι κάνει. Όταν ξεκινά το πρόγραμμα, το Sprite είναι κρυμμένο και αυτό δεν χρειάζεται να βάλουμε τον ίδιο κώδικα για κλώνους στο ίδιο το Sprite, κάτι που βοηθά. Στη συνέχεια, θέτουμε τις δύο μεταβλητές (μολυσμένες και άτομα) σε αυτό που θέλουμε να είναι, σε αυτήν την περίπτωση, θέτουμε τους μολυσμένους σε 1 και τους ανθρώπους σε 100. Αυτό σημαίνει ότι ξεκινάμε με ένα άτομο που έχει μολυνθεί και 100 συνολικά άτομα, χωρίς να περιλαμβάνει το μολυσμένο άτομο. Στη συνέχεια τρέχουμε έναν βρόχο, ο οποίος τρέχει το ποσό που είναι η μεταβλητή άτομα, σε αυτή την περίπτωση, 100. Πηγαίνουμε σε μια τυχαία θέση και στη συνέχεια δημιουργούμε έναν κλώνο του sprite. Πηγαίνουμε σε μια τυχαία θέση επειδή με αυτόν τον τρόπο δεν έχουμε μια γραμμή κουκκίδων που κινούνται προς μία κατεύθυνση και αντίθετα αναπαράγονται σε τυχαίες θέσεις.

Βήμα 3: Ρύθμιση του κώδικα για το μολυσμένο και αφαιρεμένο Sprite

Ρύθμιση του κώδικα για το μολυσμένο και αφαιρούμενο Sprite
Ρύθμιση του κώδικα για το μολυσμένο και αφαιρούμενο Sprite

Τώρα, μεταβείτε στο Sprite "Sprite1" και, στη συνέχεια, αντιγράψτε τον παραπάνω κώδικα. Ας το περάσουμε. Όταν ξεκινά το πρόγραμμα, το Sprite αποκρύπτεται και, στη συνέχεια, εκτελεί έναν βρόχο για την ποσότητα που έχει ρυθμιστεί. Πηγαίνει σε μια τυχαία θέση και δημιουργεί έναν κλώνο του εαυτού του.

Βήμα 4: Συμπλήρωση του κώδικα ευπαθούς πληθυσμού

Συμπλήρωση του Κώδικα Ευαίσθητου Πληθυσμού
Συμπλήρωση του Κώδικα Ευαίσθητου Πληθυσμού

Ας περάσουμε από τα πράγματα που πρέπει να κάνουμε:

  • Μολύνω
  • Κίνηση

Μεταβείτε στο μη μολυσμένο sprite, αντιγράψτε τον παραπάνω κώδικα και ας δούμε πώς ολοκληρώνει τη μόλυνση και τη μετακίνηση. Πρώτον, πρόκειται για ένα κοστούμι, και αυτό δεν είναι πραγματικά απαραίτητο, αλλά το έχουμε εκεί, οπότε αν αποφασίσουμε να προσθέσουμε περισσότερα, δεν χρειάζεται να ανησυχούμε ότι θα αλλάξει κοστούμια στα νέα που προσθέσαμε. Στη συνέχεια, εμφανίζεται. Αν θυμάστε, κρύψαμε το αρχικό sprite, οπότε θα κρυφτούν και οι κλώνοι, κάτι που δεν θέλουμε. Στη συνέχεια, τρέχουμε έναν βρόχο για πάντα, ο οποίος θα τρέχει ολόκληρο το πρόγραμμα έως ότου κάποιος κάνει κλικ στο σήμα στάσης στο μηδέν. Ολισθαίνουμε σε μια τυχαία θέση για 1 δευτερόλεπτο και στη συνέχεια ελέγχουμε αν είμαστε στην άκρη, οπότε το αναπηδάμε. Στη συνέχεια, εάν αγγίζουμε το κόκκινο χρώμα, τότε κλωνοποιούμε το Sprite1 (ο μολυσμένος/αφαιρεμένος πληθυσμός) και αυξάνουμε τη μολυσμένη μεταβλητή κατά 1, ακολουθούμενη από τη διαγραφή του sprite μας.

Βήμα 5: Ολοκλήρωση του μολυσμένου/αφαιρεθέντος κώδικα

Συμπλήρωση του μολυσμένου/αφαιρεθέντος κώδικα
Συμπλήρωση του μολυσμένου/αφαιρεθέντος κώδικα

Μεταβαίνοντας στο Sprite1, δημιουργούμε μια νέα λίστα, χρονόμετρο. Αυτός ο κατάλογος θα παρακολουθεί πόσο καιρό μολύνεται μια τελεία και μετά από ορισμένο χρονικό διάστημα είτε πεθαίνει είτε ανακάμπτει, γίνεται μέρος του πληθυσμού που έχει αφαιρεθεί/ανακτηθεί και αντιπροσωπεύεται από μια γκρίζα κουκκίδα, η οποία δεν μπορεί να μολυνθεί ξανά.

Αντιγράψτε τον παραπάνω κώδικα και ας τον περάσουμε. Όταν ξεκινάμε ως κλώνος, εισάγουμε τη συνολική ποσότητα δευτερολέπτων που εκτελείται το πρόγραμμα στη λίστα χρονοδιακόπτη και θα το ελέγξουμε για να δούμε πόσο καιρό έχει μολυνθεί και θα το αλλάξουμε για να ανακτηθεί ανάλογα. Κρύβουμε τη λίστα χρονοδιακόπτη και, στη συνέχεια, αλλάζουμε το κοστούμι κλωνοποίησης στο μολυσμένο κοστούμι για κάθε ενδεχόμενο και, στη συνέχεια, εμφανίζουμε το sprite μας. Τώρα τρέχουμε έναν βρόχο για πάντα, στον οποίο συμβαίνουν πολλά πράγματα: λέμε στον κλώνο να γλιστρά σε μια τυχαία θέση κάθε δευτερόλεπτο, ελέγχουμε αν η μεταβλητή είναι μεγαλύτερη από τον ίδιο τον πληθυσμό, οπότε την ορίζουμε στον πληθυσμό και τέλος, πηγαίνουμε και ελέγχουμε το πρώτο στοιχείο της λίστας χρονοδιακόπτη για να δούμε αν έχουν περάσει περισσότερα από 5 δευτερόλεπτα και αν είναι αληθινά αλλάζουμε το κοστούμι στο ανακτημένο κοστούμι, ώστε να μην μπορούμε να μολύνουμε και, στη συνέχεια, διαγράφουμε το στοιχείο από το χρονόμετρο.

Συνιστάται: