Пример #1
0
        public Tablero(string archivo)
        {
            celdas = new ListaPares();
            getDim(archivo, out COLS, out FILS);
            numComida = 0;
            pers      = new Personaje[5];
            cas       = new Casilla[FILS, COLS];
            StreamReader leer = new StreamReader(archivo);

            for (int i = 0; i < FILS; i++)
            {
                string linea = leer.ReadLine().Replace(" ", "");
                for (int j = 0; j < COLS; j++)
                {
                    switch (linea[j])
                    {
                    case ' ':
                    case '0':
                        cas[i, j] = Casilla.Blanco;
                        break;

                    case '1':
                        cas[i, j] = Casilla.Muro;
                        break;

                    case '2':
                        cas[i, j] = Casilla.Comida;
                        numComida++;
                        break;

                    case '3':
                        cas[i, j] = Casilla.Vitamina;
                        numComida++;
                        break;

                    case '4':
                        cas[i, j] = Casilla.MuroCelda;
                        celdas.insertaIni(i, j);
                        break;

                    case '5':
                        pers[1].posX = pers[1].defX = i;
                        pers[1].posY = pers[1].defY = j;
                        cas[i, j]    = Casilla.Blanco;
                        break;

                    case '6':
                        pers[2].posX = pers[2].defX = i;
                        pers[2].posY = pers[2].defY = j;
                        cas[i, j]    = Casilla.Blanco;
                        break;

                    case '7':
                        pers[3].posX = pers[3].defX = i;
                        pers[3].posY = pers[3].defY = j;
                        cas[i, j]    = Casilla.Blanco;
                        break;

                    case '8':
                        pers[4].posX = pers[4].defX = i;
                        pers[4].posY = pers[4].defY = j;
                        cas[i, j]    = Casilla.Blanco;
                        break;

                    case '9':
                        pers[0].posX = pers[0].defX = i;
                        pers[0].posY = pers[0].defY = j;
                        cas[i, j]    = Casilla.Blanco;
                        break;

                    default:
                        break;
                    }
                }
            }
            numNivel = int.Parse(leer.ReadLine());

            if (Debug)
            {
                rnd = new Random(100);
            }
            else
            {
                rnd = new Random();
            }
            leer.Close();
        }