Estoy tratando de escribir un modelo que contenga organismos digitales. Dentro del modelo, supongo que el entorno debe ser una matriz fija de 2 d, pero cada celda debe contener una lista de los organismos que contiene. Intenté usar una matriz dentada, pero como el número de elementos ocupados varía bastante durante la ejecución del programa, necesito usar algo más flexible que una matriz. Intenté hacer una matriz bidimensional de la lista de tipos, pero estoy recibiendo errores con ella.Intentando hacer una matriz 2D de listas
List<Creature>[,] theWorld;
public Environment()
{
List<Creature>[,] theWorld = new List<Creature>[100,100];
}
public void addCreature(Creature c)
{
for (int x = 0; x < 100; x++)
{
for (int y = 0; y < 100; y++)
{
theWorld[x, y].Add (c);
} } }
este es el segmento en el que i estoy tratando de declarar la matriz al principio, como un tipo que mantiene listas (de los organismos), y más tarde intento agregar una criatura (c) para cada uno de las listas en cada elemento de la matriz.
cuando lo funciono i obtener Mensaje- el siguiente error
"una excepción no controlada del tipo 'System.NullReferenceException' en HGT_sim_2.exe
Información adicional: Referencia a objeto no establecida en una instancia de un objeto."
y la línea "Mundo [x, y] .Add (c);" está resaltado.
Si alguien puede decirme qué estoy haciendo mal, y aún mejor, una forma de solucionar el problema, sería increíble. gracias ain por adelantado!
Usualmente viene primero y luego x cuando mapeo una matriz 2d, pero creo que el orden es subjetivo. Hacerlo y luego x dará una salida visual precisa, aunque desde la esquina superior izquierda. –