コード例 #1
0
    //phase
    public void VoleBonus(Joueur voleur, Joueur cible)
    {
        Debug.Log("VoleBonus");

        if (cible == JoueurBonusEmbuscade || cible == JoueurBonusPM || cible == JoueurBonusSoleil || cible == JoueurBonusTuile)
        {
            v.ActivationBouton(v.btnOK, false);

            v.ActivationBouton(v.btnSuperieur[0], cible == JoueurBonusEmbuscade);
            v.ActivationBouton(v.btnSuperieur[1], cible == JoueurBonusPM);
            v.ActivationBouton(v.btnSuperieur[2], cible == JoueurBonusSoleil);
            v.ActivationBouton(v.btnSuperieur[3], cible == JoueurBonusTuile);
            V.Modif(v.btnSuperieur[0], v.SpriteBonusEmbuscade, V.Effet.Normal);
            V.Modif(v.btnSuperieur[1], v.SpriteBonusPM, V.Effet.Normal);
            V.Modif(v.btnSuperieur[2], v.SpriteBonusSoleil, V.Effet.Normal);
            V.Modif(v.btnSuperieur[3], v.SpriteBonusTuile, V.Effet.Normal);

            v.ChargerUI(voleur);
            v.TextInfo(voleur.Nom + " Vole un bonus à " + cible.Nom);

            Voleur = voleur;
        }

        else
        {
            v.ChargerUI(voleur);
            v.TextInfo(voleur.Nom + " n'a aucun bonus à voler " + cible.Nom);
        }

        reponseClicAttendu = ReponseClicAttendu.PhaseVoleBonus_Clic_btnSupTuileBonus_Ou_btnOK;
    }
コード例 #2
0
    //fin
    private void Phase2_fin()
    {
        Debug.Log("Phase2_fin");

        foreach (var btn in v.btnSuperieur)
        {
            v.ActivationBouton(btn, false);
            V.Modif(btn, V.Effet.Invisible);
        }

        reponseClicAttendu = ReponseClicAttendu.Phase0_null;
        Phase3_Preparation();
    }
コード例 #3
0
 //phase
 public void Phase6_Recolte()
 {
     Debug.Log("Phase6_Recolte");
     if (Joueurs[0].Actif)
     {
         v.ChargerUI(Joueurs[0]);
         ActivationOuvRecolte(Joueurs[0]);
         reponseClicAttendu = ReponseClicAttendu.Phase6_Recolte_Clic_Ouvriere_ou_ok;
     }
     else
     {
         Phase6_Recolte_fin();
     }
 }
コード例 #4
0
    //phase
    public void Phase5_Deplacement()
    {
        Debug.Log("Phase5_Deplacement");

        //charement
        var J = Joueurs[0];

        v.ChargerUI(J);

        //tour ou fin de tour
        if (J.Actif)
        {
            //joueur tuile bonus ?
            if (J.DoitJouerSaTuileBonus)
            {
                v.TextInfo("Commences ton tour par placer ta tuile bonus");
                v.ActivationBouton(v.btnOK, false);
                PlacerTuileBonus(Phase5_Deplacement);
            }
            //puis-ou deplacement
            else
            {
                v.ActivationBouton(v.btnOK, true);
                v.TextInfo("Choisis une unité à déplacer ou fini ton tour");

                MiseAuGris();

                foreach (Pion P in J.Pions)
                {
                    if (P.position == Pion.Position.tuile &&
                        (P.race == Pion.Race.Gueriere || P.tuile.GetProprietaire() == P.joueur))
                    {
                        P.IsSelectable = true;
                        P.effet        = Pion.Effet.Normal;
                    }
                }

                v.ActivationBouton(v.btnOuvriere, J.nbrUnite(Pion.Race.Ouvriere, Pion.Position.nid) != 0);
                v.ActivationBouton(v.btnGueriere, J.nbrUnite(Pion.Race.Gueriere, Pion.Position.nid) != 0);

                //et attente clic unité ou ok
                reponseClicAttendu = ReponseClicAttendu.Phase5_Clic_btnNidOuvGue_Pion_btnOk;
            }
        }

        else
        {
            Phase5_fin();
        }
    }
コード例 #5
0
    //phase
    public void Phase3_BonusSoleil()
    {
        Debug.Log("Phase3_BonusSoleil");

        if (Joueurs.Count != JoueursTemp.Count)
        {
            reponseClicAttendu = ReponseClicAttendu.Phase3_Clic_btnSupBonusSoleil;
        }

        else
        {
            Phase3_fin();
        }
    }
コード例 #6
0
    //fin
    private void Phase1_Fin()
    {
        Debug.Log("Phase1_Fin");
        v.ActivationBouton(v.btnOuvriere, false);
        v.ActivationBouton(v.btnGueriere, false);
        v.ActivationBouton(v.btnOK, false);
        foreach (Joueur J in Joueurs)
        {
            J.Actif = true;
        }

        reponseClicAttendu = ReponseClicAttendu.Phase0_null;
        Phase2_Preparation();
    }
コード例 #7
0
    private void ControlConflitAmuscade()
    {
        Debug.Log("ControlConflitAmuscade");

        var conflit = new List <Pion>();

        foreach (Joueur J in Joueurs)
        {
            foreach (Pion P in J.Pions)
            {
                //charge tout les pions en ambuscade du prochain joueur
                if (P.GetTuileCible() != null &&
                    P.GetTuileCible() == TConflit &&
                    P.joueur != TConflit.GetProprietaire() &&
                    (conflit.Count == 0 || conflit[0].joueur == P.joueur))
                {
                    conflit.Add(P);
                }
            }
        }

        //1 pion en ambuscade : action automatique
        if (conflit.Count == 1)
        {
            Ambuscade(conflit[0]);
        }

        //plusieur pion ambuscade d un meme joueur : choix du pion
        else if (conflit.Count > 1)
        {
            MiseAuGris();
            foreach (Pion P in conflit)
            {
                P.IsSelectable = true;
                P.effet        = Pion.Effet.Normal;
            }

            v.ChargerUI(conflit[0].joueur);
            v.TextInfo("Choisi l'une de tes guerière en ambuscade à envoyer");

            reponseClicAttendu = ReponseClicAttendu.PhaseAmbuscadeMultiple_Clic_Pion;
        }

        else
        {
            Phase5_Deplacement();
        }
    }
コード例 #8
0
    //fin
    private void Phase3_fin()
    {
        Debug.Log("Phase3_fin");
        reponseClicAttendu = ReponseClicAttendu.Phase0_null;

        foreach (var btn in v.btnSuperieur)
        {
            V.Modif(btn, V.Effet.Invisible);
        }

        Joueurs = JoueursTemp;
        v.PositionnerAvatar();
        v.ChargerUI(Joueurs[0]);

        Phase4_TuileBonusDebutDeTour();
    }
コード例 #9
0
    //phase
    public void Phase2_SelectionBonus()
    {
        Debug.Log("Phase2_SelectionBonus");

        if (JoueurBonusEmbuscade == null || JoueurBonusPM == null || JoueurBonusSoleil == null || JoueurBonusTuile == null)
        {
            v.ChargerUI(Joueurs[0]);
            v.TextInfo("Choisi ton bonus");
            reponseClicAttendu = ReponseClicAttendu.Phase2_Clic_btnSupBonus;
        }

        else
        {
            Phase2_fin();
        }
    }
コード例 #10
0
    //phase
    public void Phase7_Ponte()
    {
        Debug.Log("Phase7_Ponte");

        if (Joueurs[0].Actif)
        {
            Joueurs[0].Actif = false;
            v.ActivationBouton(v.btnOuvriere, Joueurs[0].nbrUnite(Pion.Race.Ouvriere, Pion.Position.defausse) != 0);
            v.ActivationBouton(v.btnGueriere, Joueurs[0].nbrUnite(Pion.Race.Gueriere, Pion.Position.defausse) != 0);
            v.TextInfo("Choisi avec combient d'unité tu shaite pondre");

            reponseClicAttendu = ReponseClicAttendu.Phase7_Clic_btnNidOuvGue_btnOk;
        }

        else
        {
            Phase7_fin();
        }
    }
コード例 #11
0
    //phase
    private void Phase1_EnchereDebut()
    {
        Debug.Log("Phase1_EnchereDebut");

        if (Joueurs[0].Actif)
        {
            Joueurs[0].Actif = false;
            v.ActivationBouton(v.btnOuvriere, Joueurs[0].nbrUnite(Pion.Race.Ouvriere, Pion.Position.defausse) != 0);
            v.ActivationBouton(v.btnGueriere, Joueurs[0].nbrUnite(Pion.Race.Gueriere, Pion.Position.defausse) != 0);
            v.TextInfo("Choisi avec combient d'unité tu shaite commencer. Débuter avec moins d'unité permet de choisir les bonus en premier");

            reponseClicAttendu = ReponseClicAttendu.Phase1_Clic_btnNidOuvGue_btnOk;
        }

        else
        {
            Phase1_Fin();
        }
    }
コード例 #12
0
    //phase
    private void PlacerTuileBonus(PhaseRetour _phaseRetour)
    {
        Debug.Log("PlacerTuileBonus");
        phaseRetour = _phaseRetour;

        if (Pioche.Count == 0)
        {
            PlacerTuileBonus_fin();
        }
        else
        {
            int nbrTB = (Pioche.Count < 3) ? Pioche.Count : 3;

            for (int i = 0; i < nbrTB; i++)
            {
                v.ActivationBouton(v.btnSuperieur[i], true);
                V.Modif(v.btnSuperieur[i], Pioche[i], V.Effet.Normal);
            }

            v.TextInfo("Places la tuile de ton choix");

            reponseClicAttendu = ReponseClicAttendu.PhaseTuileBonus_Clic_btnSupTuileBonus_Puis_Tuile;
        }
    }
コード例 #13
0
 //fin
 private void PlacerTuileBonus_fin()
 {
     Joueurs[0].DoitJouerSaTuileBonus = false;
     reponseClicAttendu = ReponseClicAttendu.Phase0_null;
     phaseRetour();
 }