Menu
CoddyTech
flag Ar iconالعربيةdown icon

المتجر والمخزون

جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 54 من 56.

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

اكتب نصين برمجيين: Shop على كائن المتجر، وShopItem على زر كل عنصر.

challenge icon

التحدي

صعب

يمنح Inspector مكوّن Shop القيم startCoins (100)، وpay (25)، وcoinsText، وinventoryText، وworkButton وitems، وهي عناصر ShopItem الثلاثة بترتيب الرف. ويمنح كل ShopItem القيمتين itemName وprice (Helmet 40، Boots 60، Cape 120)، وlabel (النص على زره) وshop.

  • تُحفَظ العملات تحت المفتاح Coins؛ ويبدأ اللاعب الذي لم تُحفَظ له أي بيانات باستخدام startCoins. يعرضها coinsText بالشكل Coins: 100.
  • كل نقرة على Work تكسب pay من العملات.
  • يكون العنصر مملوكًا عندما تكون قيمة المفتاح Owned_ متبوعة باسمه (Owned_Helmet) هي 1. ويعرض ملصقه Helmet: 40 عندما يكون معروضًا للبيع، وHelmet: owned بعد امتلاكه.
  • لا يمكن النقر على زر العنصر إلا عندما لا يكون العنصر مملوكًا ويملك اللاعب ما لا يقل عن سعره. يؤدي النقر عليه إلى شراء العنصر: يُخصم سعره من العملات ويصبح العنصر مملوكًا.
  • يسرد inventoryText العناصر المملوكة بترتيب الرف، بالشكل Inventory: Helmet, Cape، أو يعرض Inventory: empty.
  • يُحفَظ كل تغيير فورًا، ويعرض كل نص وزر الحالة الجديدة.

اضغط على Play، وتسوق واعمل، ثم اضغط على Stop وPlay مرة أخرى، ثم Check.

جرّب بنفسك

using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class Shop : MonoBehaviour
{
    public int startCoins = 100;
    public int pay = 25;
    public TMP_Text coinsText;
    public TMP_Text inventoryText;
    public Button workButton;
    public ShopItem[] items;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس بناء ألعاب حقيقية