Exemplo n.º 1
0
        public void FinDeTour(MoteurGraphique moteurgraphique_, /*Lecteur coldman_,*/ HUD hud_, ref int time, ref bool transition_)
        {
            numeroDeTour += 0.5f;
            //coldman_.Play(Lecteur.EffectKey.laser);
            bool vousAvezTousFini = true;
            foreach (Unite bob in listeDesJoueurs[tourencours].bataillon)
            {
                vousAvezTousFini = vousAvezTousFini && bob.fileDeMouvements.Count == 0;
            }
            if (vousAvezTousFini)
            {
                transition_ = listeDesJoueurs[(tourencours + 1) % listeDesJoueurs.Count].difficulte == 0;
                #region si limite de tours
                if (conditionsDeVictoire == e_typeDePartie.Colline)
                {
                    limiteDeTours -= 1/(float)listeDesJoueurs.Count;
                    if (limiteDeTours > 0)
                    {
                        waitForFinDeTour = false;
                        listeDesJoueurs[tourencours].FindeTour();
                        do
                        {
                            tourencours = (tourencours + 1) % listeDesJoueurs.Count;
                        } while (!listeDesJoueurs[tourencours].atLeastOneAlive);

                        listeDesJoueurs[tourencours].reactiverIA();
                        time = 0;
                        hud_.DoAFlash(listeDesJoueurs[tourencours].couleur);
                        moteurgraphique_.viderVueChangementDeJoueur();
                        listeDesJoueurs[tourencours].soeurAnne(moteurgraphique_, this);
                        listeDesJoueurs[tourencours].auras(moteurgraphique_, this);
                        mood = e_modeAction.Mouvement;
                        if (moteurgraphique_.map[tresor_i, tresor_j].presence
                            && listeDesJoueurs[moteurgraphique_.map[tresor_i, tresor_j].pointeurArmee].
                            bataillon[moteurgraphique_.map[tresor_i, tresor_j].pointeurUnite].alive)
                        {
                            listeDesJoueurs[moteurgraphique_.map[tresor_i, tresor_j].pointeurArmee].score +=
                                Math.Max(50 - (int)limiteDeTours, 0);
                        }
                    }
                    else
                    {
                        int v = 0;
                        for (int i = 0; i < listeDesJoueurs.Count; i++)
                        {
                            if (listeDesJoueurs[i].score > listeDesJoueurs[v].score)
                            {
                                v = listeDesJoueurs[i].camp;
                            }
                        }
                        victory(v, hud_);
                    }
                }
                #endregion
                #region sinon
                else
                {
                    waitForFinDeTour = false;
                    listeDesJoueurs[tourencours].FindeTour();
                    moteurgraphique_.viderChemin();
                    listeDesJoueurs[tourencours].FindeTour();
                    do
                    {
                        tourencours = (tourencours + 1) % listeDesJoueurs.Count;
                    } while (!listeDesJoueurs[(int)limiteDeTours].atLeastOneAlive);
                    listeDesJoueurs[tourencours].reactiverIA();
                    time = 0;
                    hud_.DoAFlash(listeDesJoueurs[tourencours].couleur);
                    moteurgraphique_.viderVueChangementDeJoueur();
                    listeDesJoueurs[tourencours].soeurAnne(moteurgraphique_, this);
                    listeDesJoueurs[tourencours].auras(moteurgraphique_, this);
                    mood = e_modeAction.Mouvement;
                }
                #endregion
                moteurgraphique_.centrerSur(listeDesJoueurs[tourencours].QG.X, listeDesJoueurs[tourencours].QG.Y);
                clic = false;
            }
            else
            {
                waitForFinDeTour = true;
            }
        }
Exemplo n.º 2
0
 //Loohy
 public void finDePartie(Color color_, HUD hud_)
 {
     hud_.DoAFlash(color_);
 }