Menu
CoddyTech

مستويات الأبراج

الدرس 16 من 25 في دورة لعبة Unity: الدفاع عن الأبراج على Coddy.

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

public int YieldAt(int level)
{
    return baseYield + yieldPerLevel * (level - 1);
}

المستوى 1 هو القيمة الأساسية. يحتفظ البرج بمستواه الخاص فقط، ويطلق بالنطاقات الخاصة بذلك المستوى.

challenge icon

التحدي

متوسط

أضف مستويات للأبراج.

  1. في TowerData، أضف الأعداد الصحيحة العامة maxLevel وupgradeCost وdamagePerLevel، والعائم العام rangePerLevel.
  2. أضف DamageAt(int level): damage + damagePerLevel * (level - 1)؛ وRangeAt بالطريقة نفسها؛ وUpgradeCost(int level): upgradeCost * level.
  3. في Tower، أضف private int level = 1; وpublic int Level => level; وpublic void Upgrade() { level++; }؛ وأطلق النار باستخدام DamageAt(level) ضمن RangeAt(level).

اضغط على «العب»: تقاتل الأبراج كما في السابق. ثم اضغط على «تحقق».

جرّب بنفسك

using UnityEngine;

[CreateAssetMenu(fileName = "NewTower", menuName = "Tower Defense/Tower Data")]
public class TowerData : ScriptableObject
{
    public string towerName;
    public int cost = 50;
    public int damage = 2;
    public float range = 4f;
    public float fireRate = 1f;
}

جميع دروس لعبة Unity: الدفاع عن الأبراج

تدرّب بنفسك: Playground لـ Unity