Example #1
0
    //TODO revoir la definition de provenance pour la methode
    public static List <IConteneurCarte> getEmplacementsLigneVertical(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible)
    {
        List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> ();
        bool            isProvenance    = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE);
        IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, carteCible.getConteneur(), isProvenance);

        if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract)
        {
            EmplacementMetierAbstract        emplacementOrigne = (EmplacementMetierAbstract)conteneurOrigin;
            List <EmplacementMetierAbstract> listEmplacement   = new List <EmplacementMetierAbstract>();

            if (isProvenance || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER))
            {
                listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementMetierAbstract>(netidJoueur));
            }

            if (isProvenance || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE))
            {
                listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementMetierAbstract>(EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigne.NumColonne, netidJoueur)));
            }

            foreach (EmplacementMetierAbstract emplacementCible in listEmplacement)
            {
                if (emplacementCible.NumColonne == emplacementOrigne.NumColonne)
                {
                    listEmplacementsCible.Add(emplacementCible);
                }
            }
        }

        return(listEmplacementsCible);
    }
Example #2
0
    //TODO revoir la definition de provenance pour la methode
    public static List <IConteneurCarte> getEmplacementsLigneHorizontal(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible)
    {
        List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> ();
        bool            isProvenance    = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE);
        IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, carteCible.getConteneur(), isProvenance);

        if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract)
        {
            EmplacementMetierAbstract emplacementOrigine = (EmplacementMetierAbstract)conteneurOrigin;

            List <EmplacementMetierAbstract> listEmplacementRanger = EmplacementUtils.getRanger(emplacementOrigine);

            foreach (EmplacementMetierAbstract emplacementCible in listEmplacementRanger)
            {
                if (isProvenance ||
                    (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER) && emplacementCible.isConteneurAllier(netidJoueur)) ||
                    (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE) && !emplacementCible.isConteneurAllier(netidJoueur)))
                {
                    listEmplacementsCible.Add(emplacementCible);
                }
            }
        }

        return(listEmplacementsCible);
    }
Example #3
0
    //TODO revoir la definition de provenance pour la methode
    public static List <IConteneurCarte> getEmplacementsDiagonalMontante(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible)
    {
        List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> ();
        bool            isProvenance    = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE);
        IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, carteCible.getConteneur(), isProvenance);

        if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract)
        {
            EmplacementMetierAbstract        emplacementOrigin = (EmplacementMetierAbstract)conteneurOrigin;
            List <EmplacementMetierAbstract> listEmplacement   = new List <EmplacementMetierAbstract> ();

            List <EmplacementMetierAbstract> listEmplacementRangerSup = EmplacementUtils.getRangerSuperieur(emplacementOrigin, netidJoueur, EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigin.NumColonne, netidJoueur));
            List <EmplacementMetierAbstract> listEmplacementRangerInf = EmplacementUtils.getRangerInferieur(emplacementOrigin, netidJoueur, EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigin.NumColonne, netidJoueur));

            listEmplacement.AddRange(EmplacementUtils.getEmplacementByNumColonne(listEmplacementRangerSup, emplacementOrigin.NumColonne + 1));
            listEmplacement.AddRange(EmplacementUtils.getEmplacementByNumColonne(listEmplacementRangerInf, emplacementOrigin.NumColonne - 1));

            foreach (EmplacementMetierAbstract emplacementCible in listEmplacement)
            {
                if (isProvenance ||
                    (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER) && emplacementCible.isConteneurAllier(netidJoueur)) ||
                    (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE) && !emplacementCible.isConteneurAllier(netidJoueur)))
                {
                    listEmplacementsCible.Add(emplacementCible);
                }
            }
        }

        return(listEmplacementsCible);
    }
Example #4
0
    public static List <EmplacementMetierAbstract> getRangerInferieur(EmplacementMetierAbstract emplacementReference, NetworkInstanceId netIdJoueurPlateau, NetworkInstanceId netIdPlateauOppose)
    {
        List <EmplacementMetierAbstract> listEmplacementRetour = new List <EmplacementMetierAbstract> ();

        if (emplacementReference is EmplacementSolMetier && emplacementReference.IdJoueurPossesseur != netIdJoueurPlateau)
        {
            listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementAtomsphereMetier>(netIdPlateauOppose).ConvertAll(x => (EmplacementMetierAbstract)x));
        }
        else if (emplacementReference is EmplacementAtomsphereMetier)
        {
            if (emplacementReference.IdJoueurPossesseur == netIdJoueurPlateau)
            {
                listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementSolMetier>(netIdJoueurPlateau).ConvertAll(x => (EmplacementMetierAbstract)x));
            }
            else
            {
                listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementAttaque>(netIdPlateauOppose).ConvertAll(x => (EmplacementMetierAbstract)x));
            }
        }
        else if (emplacementReference is EmplacementAttaque)
        {
            if (emplacementReference.IdJoueurPossesseur == netIdJoueurPlateau)
            {
                listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementAtomsphereMetier>(netIdJoueurPlateau).ConvertAll(x => (EmplacementMetierAbstract)x));
            }
            else
            {
                listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementAttaque>(netIdJoueurPlateau).ConvertAll(x => (EmplacementMetierAbstract)x));
            }
        }

        return(listEmplacementRetour);
    }
Example #5
0
    public static List <IConteneurCarte> getEmplacementsLigneAtmosphere(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible)
    {
        List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> ();
        bool            isProvenance = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE);
        IConteneurCarte conteneurCible;

        if (null != carteCible)
        {
            conteneurCible = carteCible.getConteneur();
        }
        else
        {
            conteneurCible = null;
        }


        IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, conteneurCible, isProvenance);

        if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract)
        {
            EmplacementMetierAbstract          emplacementOrigne = (EmplacementMetierAbstract)conteneurOrigin;
            List <EmplacementAtomsphereMetier> listEmplacement   = new List <EmplacementAtomsphereMetier> ();

            if ((isProvenance && emplacementOrigne.isConteneurAllier(netidJoueur)) || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER))
            {
                listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementAtomsphereMetier>(netidJoueur));
            }

            if ((isProvenance && emplacementOrigne.isConteneurAllier(netidJoueur)) || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE))
            {
                //TODO voir cas si plusieur ennemie
                listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementAtomsphereMetier>(EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigne.NumColonne, netidJoueur)));
            }

            foreach (EmplacementMetierAbstract emplacementCible in listEmplacement)
            {
                listEmplacementsCible.Add(emplacementCible);
            }
        }

        return(listEmplacementsCible);
    }
Example #6
0
    public static List <EmplacementMetierAbstract> getRanger(EmplacementMetierAbstract emplacementReference)
    {
        List <EmplacementMetierAbstract> listEmplacementRetour = new List <EmplacementMetierAbstract> ();

        if (null != emplacementReference)
        {
            if (emplacementReference is EmplacementSolMetier)
            {
                listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementSolMetier> (emplacementReference.IdJoueurPossesseur).ConvertAll(x => (EmplacementMetierAbstract)x));
            }
            else if (emplacementReference is EmplacementAtomsphereMetier)
            {
                listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementAtomsphereMetier> (emplacementReference.IdJoueurPossesseur).ConvertAll(x => (EmplacementMetierAbstract)x));
            }
            else if (emplacementReference is EmplacementAttaque)
            {
                listEmplacementRetour.AddRange(getListEmplacementJoueur <EmplacementAttaque> (emplacementReference.IdJoueurPossesseur).ConvertAll(x => (EmplacementMetierAbstract)x));
            }
        }
        return(listEmplacementRetour);
    }