Partage
  • Partager sur Facebook
  • Partager sur Twitter

Déclaration d'une énumaration dans un constructeur

Sujet résolu
    16 janvier 2018 à 20:44:33

    Bonsoir,

    J'essaie désespérément d'initialiser des valeurs dans le constructeur de ma classe Attraction. Cependant certaines valeurs étant constante et une autre étant une énumération héritée d'une autre classe je ne sais pas comment faire. Je vous mets le code ci-dessous, merci à celle et ceux qui voudront m'aider.

    public class Attraction :Building
    {
    public const long BUILD_COST = 10000;
    public static readonly long[] UPGRADE_COST = { 5000, 10000, 45000 };
    public static readonly long[] ATTRACTIVENESS = { 500, 1000, 1300, 1500 };
    private int lvl = 1;


    public Attraction(int lvl):base(BuildingType())
    {
    this.lvl = lvl;
    }

    Je vous mets le code de la classe dont elle hérite :

    public abstract class Building
        {
            public enum BuildingType
            {
                NONE, ATTRACTION, HOUSE, SHOP
            }
    
    
            protected BuildingType type;
            
            
            public BuildingType Type
            {
                get { return type; }
            }
        }

    Bonne soirée

    -
    Edité par BenjaminDecreusefond 16 janvier 2018 à 20:45:44

    • Partager sur Facebook
    • Partager sur Twitter
      17 janvier 2018 à 6:08:34

      Ça aurait été bien de préciser ce qui coince exactement, message d'erreur, pas ce que tu attends (donc qu'attends-tu et que se produit-il) etc.

      Néanmoins, je ne vois pas de constructeur dans Building, donc Attraction qui en hérite ne peux appeler base avec un argument, et quand bien même je ne vois pas ce que BuildingType() devrait faire au juste (on dirait du C++ là)

      Cela étant dit, je ne suis pas certain que tu partes sur une bonne conception (mais bon moi le dev de jeux...) tu as plusieurs types de bâtiments, pourquoi ne pas simplement les faire tous hériter de Building ? (bon après d'après ce que j'ai pu lire à plusieurs reprises la POO c'est pas génial pour les jeux, vaut mieux faire de l'ECS)

      • Partager sur Facebook
      • Partager sur Twitter
      Censément, quelqu'un de sensé est censé s'exprimer sensément.
        17 janvier 2018 à 21:45:29

        Mon problème a été résolu par l'un de mes professeurs merci à toi pour ton aide, bonne soirée.
        • Partager sur Facebook
        • Partager sur Twitter

        Déclaration d'une énumaration dans un constructeur

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown