Exemplo n.º 1
0
        /// <summary>
        /// Obtient l'information du navire à partir de la classe de navire.
        /// </summary>
        /// <param name="classOfShip"></param>
        /// <returns></returns>
        public static ClassOfShipInfo FromClassOfShip(ClassOfShip classOfShip)
        {
            switch (classOfShip)
            {
            case ClassOfShip.Destroyer:     return(new ClassOfShipInfo()
                {
                    Name = "Destroyer", Symbol = 'D', Lenght = 2, ClassOfShip = classOfShip
                });

            case ClassOfShip.Cruiser:       return(new ClassOfShipInfo()
                {
                    Name = "Cruiser", Symbol = 'c', Lenght = 3, ClassOfShip = classOfShip
                });

            case ClassOfShip.Submarine:     return(new ClassOfShipInfo()
                {
                    Name = "Submarine", Symbol = 'S', Lenght = 3, ClassOfShip = classOfShip
                });

            case ClassOfShip.BattleShip:    return(new ClassOfShipInfo()
                {
                    Name = "BattleShip", Symbol = 'B', Lenght = 4, ClassOfShip = classOfShip
                });

            case ClassOfShip.Carrier:       return(new ClassOfShipInfo()
                {
                    Name = "Carrier", Symbol = 'C', Lenght = 5, ClassOfShip = classOfShip
                });

            default:
                throw new InvalidOperationException("Type de navire inconnue");
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Construit la position complète d'un navire.
 /// </summary>
 /// <param name="classOfShip">Classe du navire.</param>
 /// <param name="coordonate">Coordonnées X et Y du navire sur le plateau 10x10. Le plateau commence à 0x0 et se termine à 9x9.</param>
 /// <param name="orientation">Orientation du navire (Verical ou Horizontal).</param>
 public ShipPosition(ClassOfShip classOfShip, Point coordonate, Orientation orientation)
 {
     Class           = classOfShip;
     Coordonate      = coordonate;
     Orientation     = orientation;
     ClassOfShipInfo = ClassOfShipInfo.FromClassOfShip(classOfShip);
 }
Exemplo n.º 3
0
 /// <summary>
 /// Constructeur d'un navire.
 /// </summary>
 /// <param name="shipPosition">Position et type du navire.</param>
 public Ship(ShipPosition shipPosition)
 {
     Orientation     = shipPosition.Orientation;
     ClassOfShipInfo = shipPosition.ClassOfShipInfo; //TODO: Revoir la pertinence de cette classe et de son usage.
     Lenght          = shipPosition.ClassOfShipInfo.Lenght;
     TopLeft         = shipPosition.Coordonate;
     BottomRight     = shipPosition.Coordonate + shipPosition.Size - new Size(1, 1); // -1 en X et Y car on TopLeft "consomme" une case
     Class           = shipPosition.Class;
     HealthPoint     = Lenght;
 }