"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكنني القيادة؟ ترميز جهاز اختبار الكحول

هل يمكنني القيادة؟ ترميز جهاز اختبار الكحول

تم النشر بتاريخ 2024-11-18
تصفح:568

في الدنمارك، حيث أعيش، لدينا للأسف رقم قياسي داخل أوروبا: أطفالنا هم أكثر من يشربون الكحول في القارة. ولهذا السبب، هناك تركيز قوي على الحد من استهلاك الشباب للكحول وتثقيف الأطفال حول آثار الكحول.

لقد قمت بتجميع حاسبة الكحول بلغة HTML وJavaScript لمدرستنا المحلية لأبين للطلاب كيف يؤثر الكحول على الجسم وكيفية حساب محتوى الكحول في الدم (BAC).

كيف يتم حساب BAC؟

لتقدير BAC أو "promille"، تحتاج إلى بعض المعلومات الأساسية:

  • وزن جسمك – حيث أن الجسم الأكبر يمكن أن يخفف الكحول أكثر من الجسم الأصغر.
  • الجنس البيولوجي – بسبب اختلاف مستويات محتوى الماء في الجسم، مما يؤثر على توزيع الكحول في الجسم.
  • عدد وحدات الكحول المستهلكة – لأن كل نوع من المشروبات له تركيز كحول مختلف.

حساب وحدات الكحول

تساهم المشروبات المختلفة بكميات مختلفة من الكحول في مجرى الدم، اعتمادًا على حجمها وتركيز الكحول. لتوحيد ذلك، يتم عادةً إجراء وحدة حساب الكحول على النحو التالي:

volume (cl) * alcohol percentage * 0.8 / 120

بناء

تم تنظيم "التطبيق" بأكمله على شكل

مع مجموعات حقول منظمة وعناصر تحكم مسماة، مما يجعل من السهل استخراج العناصر الضرورية باستخدام:
const { add, addbeverage, etc. } = app.elements;

نظرًا لأن حدود BAC تختلف حسب المنطقة، نحتاج أولاً إلى تحديد منطقة، وضبط شريط تمرير الوزن، واختيار الجنس البيولوجي:

Can I Drive? Coding an Alcohol Tester


بعد ذلك، يمكننا البدء بإضافة المشروبات:

Can I Drive? Coding an Alcohol Tester

هذه

بسيطة، حيث يتم تعطيل الحقول الفردية للوحدات والحجم ونسبة الكحول (وإخفائها عبر CSS)، حتى تقوم بالاختيار من محدد المشروبات:

Can I Drive? Coding an Alcohol Tester

يتم التحكم في رؤية هذه الحقول من خلال وظيفة تمكين العناصر:

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

عندما نضيف بعد ذلك المشروب، يتم إنشاء قائمة بالمشروبات المستهلكة، ويتم حساب BAC، والساعات المقدرة للاستيقاظ، وما إلى ذلك:

Can I Drive? Coding an Alcohol Tester

يمكنك بعد ذلك الاستمرار في إضافة المزيد من المشروبات، ويتم تحديث BAC وفقًا لذلك:

Can I Drive? Coding an Alcohol Tester

لقد كان جدًا مفاجئًا بالنسبة لي عندما علمت أن نسبة BAC القانونية في الولايات المتحدة أكبر 4 مرات من تلك الموجودة في السويد أو النرويج!

بمعنى آخر، في السويد، يمكن أن تفقد الترخيص الخاص بك لشرب كمية من شأنها أن تكون مسموحة قانونًا في الولايات المتحدة.


كسر حساب BAC

تتم معالجة الحساب الأساسي لـ BAC في دالة CalculAnswer:

function calculateAnswer() {
  const alcoholMetabolismRate = 0.015;
  const currentBAC =
    ((total * 10) /
      (weight.valueAsNumber *
        1000 *
        parseFloat(bodywater.value))) *
    100;
  const hoursToSober = (
    currentBAC / alcoholMetabolismRate
  ).toFixed(1);
  const canDrive =
    currentBAC 



دعونا نقسمها:

  1. معدل استقلاب الكحول: معدل استقلاب الكحول = 0.015

    • تمثل هذه القيمة المعدل المتوسط ​​الذي يقلل به الجسم من نسبة BAC في الساعة (حوالي 0.015%).
  2. حساب BAC الحالي: currentBAC = ((الإجمالي * 10) / ((weight.valueAsNumber * 1000) * parseFloat(bodywater.value))) * 100

    • الإجمالي * 10: هذا يحول إجمالي وحدات الكحول المستهلكة إلى جرامات (نظرًا لأن الوحدة الواحدة تساوي حوالي 10 جرامات من الكحول النقي).
    • weight.valueAsNumber * 1000: لتحويل وزن الجسم من كيلوغرام إلى جرام لأغراض الحساب.
    • قيمة ماء الجسم: عامل عشري يعتمد على الجنس البيولوجي، ويؤثر على كيفية توزيع الكحول في الجسم (على سبيل المثال، 0.58 للذكور، 0.49 للإناث).
    • ثم يتم ضرب النتيجة في 100 لتحويل BAC إلى نسبة مئوية.
  3. تقدير ساعات الرصين:hoursToSober = (currentBAC / الكحول ميتابوليزمرات).toFixed(1);

    • يقسم BAC الحالي على معدل الأيض لتقدير الوقت اللازم لوصول BAC إلى الصفر.
  4. تحديد حالة القيادة القانونية: canDrive = currentBAC

    • يقارن BAC الحالي مع الحد القانوني المحدد لـ BAC. إذا كان BAC الحالي ضمن الحد، يعتبر المستخدم "صالحًا للقيادة"؛ وإلا فهم ليسوا كذلك.

تقوم وظيفة countAnswer بعد ذلك بدمج هذه القيم في رسالة توضح مستوى BAC الحالي، والساعات حتى اليقظة، وما إذا كان المستخدم لائقًا للقيادة.


... وبهذا ينتهي هذا البرنامج التعليمي. لا تتردد في تجربة CodePen إذا كنت ترغب في ذلك - ربما عن طريق إنشاء تجربة مستخدم أكثر ملاءمة للأطفال. فقط تذكر أن هذه الأداة توفر تقديرًا ولا تأخذ في الاعتبار عوامل مثل الوقت الذي استهلكت فيه كل مشروب. وتذكر أنه من المرجح أن يستخدمه الأشخاص الرصينون!


تجريبي


تغطية بواسطة DALL·E، من الموجه: قم بإنشاء سيارة في حالة سكر بأسلوب كرتوني مشابه لأفلام ديزني المبكرة وCupheads، كصورة يمكنني قصها إلى 1000 × 420 بكسل.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/madsstoumann/can-i-drive-coding-an-alcohol-tester-163g?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3