Menu
CoddyTech

بيع جرعة

جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 82 من 90.

challenge icon

التحدي

سهل

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

سيُقدَّم الإدخال التالي:

  • سلسلة نصية تحتوي على اسم الجرعة المراد بيعها

استبدل عبارات الطباعة Found وPrice وStock من الخطوة السابقة بعملية البيع، بحيث لا تُطبع سوى سطري البيع أدناه. اقرأ اسم الجرعة باستخدام io.read() واحدة: كل تشغيل يوفّر سطرًا واحدًا من الإدخال.

استخدم حلقة for رقمية للتكرار عبر جدول inventory للعثور على الجرعة المحددة. عندما تعثر على الجرعة المطابقة باستخدام عامل المساواة ==، قلّل قيمة stock بمقدار 1 لمحاكاة البيع.

بعد تحديث المخزون، اطبع رسالة تأكيد تعرض اسم الجرعة ومستوى مخزونها الجديد بالتنسيق التالي:

Sold 1 [potion name]
Remaining stock: [new stock count]

استخدم دمج السلاسل النصية للجمع بين النص التوضيحي واسم الجرعة وكمية المخزون المحدّثة. بعد معالجة البيع، استخدم عبارة break للخروج من الحلقة.

جرّب بنفسك

-- Inventory table with potion data
inventory = {
    {name = "Health Potion", price = 15, stock = 8},
    {name = "Mana Potion", price = 12, stock = 5},
    {name = "Strength Potion", price = 25, stock = 3},
    {name = "Speed Potion", price = 18, stock = 2}
}

-- Read the potion name to search for
search_name = io.read()

-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
    if inventory[i].name == search_name then
        print("Found: " .. inventory[i].name)
        print("Price: " .. inventory[i].price .. " gold")
        print("Stock: " .. inventory[i].stock .. " units")
        break
    end
end

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Lua عبر الإنترنت