我正在做一个(非常基础的)游戏。因此我需要为(很多)实体存储数据。如何给变量赋多个值?
所以我想出了这个概念:
String[] Entity_Data = new String[EntityCount];
Entity_Data[0] = "1 12 98 45";//Or other numbers...
第一个数字可能是这样的饥饿状态或步行速度,甚至是X或Y坐标。
有没有办法给数组中的每个变量多个值?
我正在做一个(非常基础的)游戏。因此我需要为(很多)实体存储数据。如何给变量赋多个值?
所以我想出了这个概念:
String[] Entity_Data = new String[EntityCount];
Entity_Data[0] = "1 12 98 45";//Or other numbers...
第一个数字可能是这样的饥饿状态或步行速度,甚至是X或Y坐标。
有没有办法给数组中的每个变量多个值?
要如何将多个值存储在一个变量的基本问题,使用像一个List,Dictionary,或Tuple:
List<String> items = new List<String>() {
"one", "two", "three"
};
Dictionary<String, String> items = new Dictionary<String, String>() {
{"name 1", "value 1"},
{"name 2", "value 2"}
{"name 3", "value 3"}
};
var items = new Tuple<string, int, int>("Bad Guy", 100, 50);
也就是说,你这样做是错误的。创建一个class并使用完全限定的属性/属性。事情是这样:
public class Enemy {
private Int32 MaxHitPoints;
private Int32 CurrentHitPoints;
private Int32 Strength;
private Int32 Speed;
private List<Weapons>;
public Hit(Int32 power) {
CurrentHitPoints = CurrentHitPoints - power;
if (CurrentHitPoints <= 0) {
Die();
Explode();
MakeAMess();
}
}
}
等等......也许值得细读/发问了在game-dev.SE。
您可以使用交错数组,像这样:
string[][] jaggedArray = new string[3][];
jaggedArray[0] = new string[5];
jaggedArray[1] = new string[4];
jaggedArray[2] = new string[2]
除此之外,我爱你“协调”的质朴的拼写,你知道,一个潜在的解决方案就在你的眼前徘徊的事实,等待被发现?
什么是Entity_Data
,如果不是一个可以容纳多个值的变量?你在找什么?完全一样的东西!这意味着,你可以声明Entity_Data
为string
数组的数组(“交错数组”):
var entityData = new string[3][];
entityData[0] = new string[] { "1", "2", "3" };
entityData[1] = new string[] { "a", "b" };
entityData[2] = new string[] { "I", "II", "III", "IV", "V" };
我并不认为这是最佳的解决方案,但我认为它值得指出的是,以你的好意。
你应该改为面向对象的概念会很好。您可以将任何类型的变量作为属性存储在类中。如果你想获得一些属性的数据,你应该创建属性来获取或设置属性。
class Player
{
private string _name;
private int _hungerStatus;
private int _walkingSpeed;
private int _Xco;
private int _Yco;
// property
public string Name
{
get
{
return _name;
}
set
{
_name = value;
}
}
…
}
当你想使用它时, X = player.Name
或player.Name = "Hero";
。
使用具有属性的类,然后将多个实例存储在'List'中。 –
一个变量=一个值。如果您需要多个值,请使用类似于列表或数组 –
我认为您正在寻找一个多维数组,请查看http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx – Kurubaran