所以我對編程一般都很陌生。我目前工作的一個地形生成程序,一切都會好起來,除了這個偉大:有沒有辦法讓這個縮短?
public static class Desert
{
public const int iChance = 15;
public static int chance = iChance;
public static int chancepoint = 0;
public const int octaves = 4;
public const int lengthMin = 60;
public const int lengthMax = 90;
public const float scaleMin = 250;
public const float scaleMax = 350;
public const float persistenceMin = 0.5f;
public const float persistenceMax = 0.9f;
public const pType ptype = pType.Lowland;
public const bTag[] tags = { bTag.desert };
}
public static class Meadow
{
public const int iChance = 45;
public static int chance = iChance;
public static int chancepoint = 0;
public const int octaves = 4;
public const int lengthMin = 45;
public const int lengthMax = 70;
public const float scaleMin = 200;
public const float scaleMax = 470;
public const float persistenceMin = 0.35f;
public const float persistenceMax = 0.70f;
public const pType ptype = pType.noAbs;
public const bTag[] tags = { bTag.lush };
}
這些是每個不同類型的「生物羣落」的性質。
我目前有大約7個這些,他們都是完全一樣的,除了每個字段的值。
有沒有一種方法可以縮短代碼?我研究繼承,但最終出現了錯誤,我有點困惑。 > <
這將是輝煌的,如果我不得不寫的是:提前
public static class Desert
{
iChance = 15;
chance = iChance;
chancepoint = 0;
octaves = 4;
lengthMin = 60;
lengthMax = 90;
scaleMin = 250;
scaleMax = 350;
persistenceMin = 0.5f;
persistenceMax = 0.9f;
ptype = pType.Lowland;
strongTags = { bTag.desert };
}
感謝。
呵呵,對於這個問題的缺點感到抱歉,如果你看到程序的其餘部分,你可能會尖叫我的代碼有多糟糕。 XD
編輯:這可能是明智的告訴你,我永遠不會改變類內的東西,除了'機會'的價值的例外。
刪除「靜態」的關鍵字,並把所有在構造 – MikeSW
@AwesomePerson怎麼樣的試圖在「列表」中使用此類 – Praveen
您正在將類與其實例混淆。不要聲明7個類,聲明1併爲每個生物實例化它。然後出去買一本關於編程概念的書吧:-) –