【发布时间】:2018-08-12 18:10:10
【问题描述】:
我的目标是:
创建多个对象(在我的例子中是村庄)并具有一些属性,我想经常更改这些属性。
目前的状态是什么
我用变量创建了一个对象。
那么现在的问题是什么?
我创建了一个可更改的名称(默认值:“village00”+i)和名称为:“BigBadCity”的村庄00(静态 ID)。
但我现在想将对象(可能是农场)的特定变量更改为 +1 级。那么如何选择要更改变量的村庄呢?
信息
我的班级代码
namespace CS_DieStaemme
{
class villageObjekt
{
//Default constructor
public villageObjekt()
{
str_villageCount = "village";//count all villages
str_name = "village"; //default name
sho_points = 0; //Start points
byt_cord_X = 0; //default cords x (need to change later)
byt_cord_Y = 0; //default cords y (need to change later)
sho_wood = 0;
sho_clay = 0;
sho_iron = 0;
byte_mainBuilding = 1;
byte_storage = 1;
byte_farm = 1;
byte_church = 0;
byte_casern = 0;
byte_stable = 0;
byte_workshop = 0;
byte_statue = 0;
byte_market = 0;
}
//Default constructor
public villageObjekt(
byte village_byt_villageCount,//village count
byte village_byt_cord_X, //Village cord x (ex. 245)
byte village_byt_cord_Y /*Village cord y (ex. 632)*/)
{
str_villageCount += village_byt_villageCount; //count up village
byt_cord_X = village_byt_cord_X; //set cords
byt_cord_Y = village_byt_cord_Y; // set cods
}
//Member variables
public string str_villageCount;
public string str_name; //Village name (ex. village012)
public short sho_points; //Village points (ex. 567pt)
private byte byt_cord_X; //Village cord x (ex. 245)
private byte byt_cord_Y; //Village cord y (ex. 632)
//Production variables
public short sho_wood;
public short sho_clay;
public short sho_iron;
//Buildings variables
public byte byte_mainBuilding;
public byte byte_storage = 1;
public byte byte_farm = 1;
public byte byte_church = 0;
public byte byte_casern = 0;
public byte byte_stable = 0;
public byte byte_workshop = 0;
public byte byte_statue = 0;
public byte byte_market = 0;
}
}
【问题讨论】:
-
我几乎不明白您的问题是什么,但如果我是正确的,您想更改您创建的对象的成员的值吗?
-
该网站真正希望您提供代码的一个原因是它消除了语言障碍。它还可以增加清晰度。这些是什么物品?在某种程度上,它们听起来像 UI 对象,但这并不确定。最有可能而不是
an Object with variables创建一些属性,然后根据需要更改它们。如果这是一个问题,请提供代码来说明它是如何以及为什么是一个问题。事实上,我的倾向是这太宽泛了。 -
您好,欢迎来到 Stack Overflow。请阅读How to Ask,然后提交minimal reproducible example。另外,请请去掉那些
byte_、str_、sho_等前缀。它们为您的代码提供零值并妨碍可读性。