Exemple #1
0
        static public void  GeneratePortoloins(ConfigurationGame game)
        {
            Position old;
            //ETAGE 1
            Portoloin p = new Portoloin(Etage.etage1, Etage.etage2);

            old = p.point;
            game.Plateau.GetZone(p.point).objets.Add(p);

            p = new Portoloin(Etage.etage1, Etage.etage3);
            while (p.point.X == old.X && p.point.Y == old.Y)
            {
                p.GenerateNewPosition();
            }
            game.Plateau.GetZone(p.point).objets.Add(p);
            //ETAGE 2
            p   = new Portoloin(Etage.etage2, Etage.etage1);
            old = p.point;
            game.Plateau.GetZone(p.point).objets.Add(p);

            p = new Portoloin(Etage.etage2, Etage.etage3);
            while (p.point.X == old.X && p.point.Y == old.Y)
            {
                p.GenerateNewPosition();
            }
            game.Plateau.GetZone(p.point).objets.Add(p);
            //ETAGE 3
            p   = new Portoloin(Etage.etage3, Etage.etage1);
            old = p.point;
            game.Plateau.GetZone(p.point).objets.Add(p);

            p = new Portoloin(Etage.etage3, Etage.etage2);
            while (p.point.X == old.X && p.point.Y == old.Y)
            {
                p.GenerateNewPosition();
            }
            game.Plateau.GetZone(p.point).objets.Add(p);
        }
        public static void GeneratePortoloins(ConfigurationGame game)
        {
            Position old;
            //ETAGE 1
            Portoloin p = new Portoloin(Etage.etage1, Etage.etage2);
            old = p.point;
            game.Plateau.GetZone(p.point).objets.Add(p);

            p = new Portoloin(Etage.etage1, Etage.etage3);
            while (p.point.X == old.X && p.point.Y == old.Y)
            {
                p.GenerateNewPosition();
            }
            game.Plateau.GetZone(p.point).objets.Add(p);
            //ETAGE 2
            p = new Portoloin(Etage.etage2, Etage.etage1);
            old = p.point;
            game.Plateau.GetZone(p.point).objets.Add(p);

            p = new Portoloin(Etage.etage2, Etage.etage3);
            while (p.point.X == old.X && p.point.Y == old.Y)
            {
                p.GenerateNewPosition();
            }
            game.Plateau.GetZone(p.point).objets.Add(p);
            //ETAGE 3
            p = new Portoloin(Etage.etage3, Etage.etage1);
            old = p.point;
            game.Plateau.GetZone(p.point).objets.Add(p);

            p = new Portoloin(Etage.etage3, Etage.etage2);
            while (p.point.X == old.X && p.point.Y == old.Y)
            {
                p.GenerateNewPosition();
            }
            game.Plateau.GetZone(p.point).objets.Add(p);
        }
        private string UseObjets()
        {
            bool res = false;
            Etage e1 = Etage.none, e2 = Etage.none;
            foreach (Objet o in joueurActuel.Objets)
            {
                Equipe e;
                if (joueurActuel.equipe == TypeEquipe.Rouge)
                    e = game.EquipeRouge;
                else
                    e = game.EquipeVerte;

                if (o.monType == monTypeObjet.Portoloin)
                {
                    Portoloin p = (Portoloin)o;
                    e1 = p.monEtage;
                    e2 = p.destination;
                }

                if (true == o.Utilisation(joueurActuel, e) && monTypeObjet.ObjetDeQuete == o.monType)
                {
                    res = true;
                }
            }
            joueurActuel.Objets.Clear();
            if (e1 != Etage.none && e2 != Etage.none)
            {
                Portoloin p = new Portoloin(e1, e2);
                game.Plateau.GetZone(p.point).objets.Add(p);
            }

            if (res)
            {
                string r = PartieFinie();
                if (!string.IsNullOrEmpty(r))
                    return r;
                else
                    return null;
            }
            else
                return null;
        }