Heim  >  Artikel  >  Web-Frontend  >  Kann ich fahren? Codierung eines Alkoholtesters

Kann ich fahren? Codierung eines Alkoholtesters

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-10 21:01:03926Durchsuche

In Dänemark, wo ich lebe, halten wir leider einen Rekord innerhalb Europas: Unsere Kinder sind die stärksten Alkoholtrinker auf dem Kontinent. Aus diesem Grund liegt ein starker Schwerpunkt auf der Reduzierung des Alkoholkonsums bei Jugendlichen und der Aufklärung von Kindern über die Auswirkungen von Alkohol.

Ich habe für unsere örtliche Schule einen Alkoholrechner in HTML und JavaScript zusammengestellt, um Schülern zu zeigen, wie sich Alkohol auf den Körper auswirkt und wie der Blutalkoholgehalt (BAC) berechnet wird.

Wie wird der BAC berechnet?

Um den BAC oder „Promille“ zu schätzen, benötigen Sie ein paar wichtige Informationen:

  • Ihr Körpergewicht – da ein größerer Körper Alkohol stärker verdünnen kann als ein kleinerer.
  • Biologisches Geschlecht – aufgrund unterschiedlicher Körperwassergehalte, die sich auf die Alkoholverteilung im Körper auswirken.
  • Die Anzahl der konsumierten Alkoholeinheiten – da jede Getränkeart eine andere Alkoholkonzentration hat.

Berechnen von Alkoholeinheiten

Verschiedene Getränke führen je nach Menge und Alkoholkonzentration unterschiedlich viel Alkohol in Ihren Blutkreislauf. Um dies zu standardisieren, erfolgt die Berechnung der Alkoholeinheit in der Regel wie folgt:

volume (cl) * alcohol percentage * 0.8 / 120

Struktur

Die gesamte „App“ ist als strukturiert. mit organisierten Feldsätzen und benannten Steuerelementen, die es einfach machen, die notwendigen Elemente zu extrahieren mit:

const { add, addbeverage, etc. } = app.elements;

Da BAC-Grenzwerte je nach Region variieren, müssen wir zunächst eine Region auswählen, den Gewichtsregler anpassen und ein biologisches Geschlecht auswählen:

Can I Drive? Coding an Alcohol Tester


Als nächstes können wir mit dem Hinzufügen von Getränken beginnen:

Can I Drive? Coding an Alcohol Tester

Dies ist ein einfacher , bei dem die einzelnen Felder für Einheiten, Volumen und Alkoholprozentsatz deaktiviert (und über CSS ausgeblendet) sind, bis Sie eine Auswahl aus der Getränkeauswahl treffen:

Can I Drive? Coding an Alcohol Tester

Die Sichtbarkeit dieser Felder wird über eine enableElements-Funktion gesteuert:

[percentage, units, volume].forEach(el => el.disabled = !bool);

Wenn wir dann das Getränk hinzufügen, wird eine Liste der konsumierten Getränke erstellt und der Alkoholgehalt, die geschätzten Stunden bis zur Ausnüchterung usw. berechnet:

Can I Drive? Coding an Alcohol Tester

Sie können dann weitere weitere Getränke hinzufügen und der BAC wird entsprechend aktualisiert:

Can I Drive? Coding an Alcohol Tester

Es war sehr für mich überraschend zu erfahren, dass der gesetzliche BAC in den USA viermal höher ist als der in Schweden oder Norwegen!

Mit anderen Worten: In Schweden könnten Sie Ihren Führerschein verlieren, wenn Sie eine Menge trinken, die in den USA gesetzlich zulässig wäre


Aufschlüsselung der BAC-Berechnung

Die Kernberechnung für BAC wird in der Funktion „calculeAnswer“ durchgeführt:

volume (cl) * alcohol percentage * 0.8 / 120

Lassen Sie es uns aufschlüsseln:

  1. Alkoholstoffwechselrate: Alkoholstoffwechselrate = 0,015

    • Dieser Wert stellt die durchschnittliche Rate dar, mit der der Körper die BAC pro Stunde reduziert (ca. 0,015 %).
  2. Berechnung des aktuellen BAC: currentBAC = ((total * 10) / ((weight.valueAsNumber * 1000) * parseFloat(bodywater.value))) * 100

    • Gesamt * 10: Dies rechnet die insgesamt konsumierten Alkoholeinheiten in Gramm um (da eine Einheit etwa 10 Gramm reinen Alkohols entspricht).
    • weight.valueAsNumber * 1000: Konvertiert das Körpergewicht zu Berechnungszwecken von Kilogramm in Gramm.
    • bodywater.value: Ein auf dem biologischen Geschlecht basierender Dezimalfaktor, der die Verteilung von Alkohol im Körper beeinflusst (z. B. 0,58 für Männer, 0,49 für Frauen).
    • Das Ergebnis wird dann mit 100 multipliziert, um den BAC in einen Prozentsatz umzuwandeln.
  3. Schätzung der Stunden bis zur Nüchternheit: hoursToSober = (currentBAC / AlcoholMetabolismRate).toFixed(1);

    • Dividiert den aktuellen BAC durch die Stoffwechselrate, um die Zeit abzuschätzen, die benötigt wird, bis der BAC Null erreicht.
  4. Bestimmung des legalen Fahrstatus: canDrive = currentBAC <= parseFloat(limit.value);

    • Vergleicht den aktuellen BAC mit dem ausgewählten gesetzlichen BAC-Grenzwert. Liegt der aktuelle BAC innerhalb des Grenzwertes, gilt der Nutzer als „fahrtauglich“; andernfalls sind sie es nicht.

Die Funktion „calculeAnswer“ kombiniert diese Werte dann zu einer Nachricht, die den aktuellen Blutzuckerspiegel, die Stunden bis zur Nüchternheit und die Fahrtauglichkeit des Benutzers anzeigt.


… Und damit ist dieses Tutorial abgeschlossen. Wenn Sie möchten, können Sie gerne mit dem CodePen experimentieren – vielleicht indem Sie eine kinderfreundlichere Benutzeroberfläche schaffen. Denken Sie daran, dass dieses Tool eine Schätzung liefert und Faktoren wie die Zeit, zu der Sie jedes Getränk konsumiert haben, nicht berücksichtigt. Und denken Sie daran, dass es höchstwahrscheinlich von nüchternen Menschen verwendet wird!


Demo


Cover von DALL·E, aus der Eingabeaufforderung: Generieren Sie ein betrunkenes Auto im Cartoon-Stil, ähnlich den frühen Disney- und Cupheads-Filmen, als Bild, das ich auf 1000 x 420 Pixel zuschneiden kann.

Das obige ist der detaillierte Inhalt vonKann ich fahren? Codierung eines Alkoholtesters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn