Exemple #1
0
        // Return true si l'unité est accessible
        public bool attackUnit(Position targetedTile)
        {
            bool     isAccessible    = false;
            Position positionUnit    = SelectedUnit.Position;
            float    ptMoveAvailable = SelectedUnit.Move;
            float    ptMoveRequired  = SelectedUnit.computeMovePoint(Map.getTileAt(targetedTile));

            // Si le nombre de MovePoint est suffisant et que l'attaque est effectuée sur une unité à portée
            if (isPossibleAttack(targetedTile))
            {
                isAccessible = true;
                AttackCommand mc = new AttackCommand(SelectedUnit.IdUnit, choseDefender(targetedTile).IdUnit, ptMoveRequired);
                mc.execute();
            }
            return(isAccessible);
        }
        public bool Equals(AttackCommand ac)
        {
            // If parameter is null return false:
            if ((object)ac == null)
            {
                return(false);
            }

            if (IdDefender != ac.IdDefender)
            {
                return(false);
            }
            if (IdAttacker != ac.IdAttacker)
            {
                return(false);
            }
            if (ResultFight != ac.ResultFight)
            {
                return(false);
            }
            if (NbHpLost != ac.NbHpLost)
            {
                return(false);
            }
            if (NbPtMove != ac.NbPtMove)
            {
                return(false);
            }
            if (CurrentPlayer != ac.CurrentPlayer)
            {
                return(false);
            }

            // Return true if the fields match:
            return(true);
        }