예제 #1
0
        //constructeur
        public Salle(int largeur, int hauteur, String contenu)
        {
            string[] nomR;
            _tableauTuiles = new Tuile[hauteur, largeur];
            _largeur       = largeur;
            _hauteur       = hauteur;
            for (int i = 0; i < _hauteur; i++)
            {
                for (int j = 0; j < _largeur; j++)
                {
                    int             idx = i * _largeur + j;
                    Tuile.TypeTuile type;
                    switch (contenu[idx])
                    {
                    //MUR
                    case 'X':
                        type = Tuile.TypeTuile.MUR;
                        nomR = new string[] { "mur.png" };
                        break;

                    case 'T':
                        type = Tuile.TypeTuile.MUR;
                        nomR = new string[] { "sol.png", "table_basse.png" };
                        break;

                    //COFFRE
                    case 'F':
                        type = Tuile.TypeTuile.COFFRE_FERME;
                        nomR = new string[] { "sol.png", "coffre_fermé.png" };
                        break;

                    case 'O':
                        type = Tuile.TypeTuile.COFFRE_OUVERT;
                        nomR = new string[] { "sol.png", "coffre_ouvert.png" };
                        break;


                    //SOL
                    case 'S':
                        type = Tuile.TypeTuile.SOL;
                        nomR = new string[] { "sol.png", "sang1.png" };
                        break;

                    case 'C':
                        type = Tuile.TypeTuile.SOL;
                        nomR = new string[] { "sol.png", "crane.png" };
                        break;

                    case '.':
                    default:
                        type = Tuile.TypeTuile.SOL;
                        nomR = new string[] { "sol.png" };
                        break;
                    }
                    _tableauTuiles[i, j] = new Tuile(type, j * Tuile.LARGEUR, i * Tuile.HAUTEUR, nomR);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Est ce qu'on peut se déplacer en x,y ?
        /// </summary>
        /// <param name="x">x dans la salle</param>
        /// <param name="y">y dans la salle</param>
        /// <returns></returns>
        public bool estTraversable(int x, int y)
        {
            if (x < 0 || x > _largeur || y < 0 || y > _hauteur)
            {
                return(false);
            }
            Tuile destination = _tableauTuiles[y, x];

            return(destination.estTraversable());
        }
예제 #3
0
        /// <summary>
        /// Y'a t'il un coffre fermé en x,y ?
        /// </summary>
        /// <param name="x">x dans la salle</param>
        /// <param name="y">y dans la salle</param>
        /// <returns></returns>
        public bool coffreFermé(int x, int y)
        {
            //faut être dans les limites de la salle
            if (x < 0 || x > _largeur || y < 0 || y > _hauteur)
            {
                return(false);
            }

            Tuile destination = _tableauTuiles[y, x];

            return(destination.coffreFermé());
        }