示例#1
0
        static void Main(string[] args)
        {
            Conclave vaticano = 5;
            Cardenal c1       = new Cardenal("Ángelo", "Pío XIII", ENacionalidades.Italiano);
            Cardenal c2       = new Cardenal("Roberto", "Juan XIV");
            Cardenal c3       = new Cardenal("Roberto", "Juan XIV");
            Cardenal c4       = new Cardenal("Juan", "Mateo I", ENacionalidades.Español);
            Cardenal c5       = new Cardenal("Mario", "Francisco I", ENacionalidades.Argentino);
            Cardenal c6       = new Cardenal("John", "Peter II", ENacionalidades.Nigeriano);
            Cardenal c7       = new Cardenal("John", "Peter II", ENacionalidades.Polaco);

            //AGREGO CARDENALES AL CONCLAVE
            vaticano += c1;
            vaticano += c2;
            vaticano += c3;
            vaticano += c4;
            vaticano += c5;
            vaticano += c6;
            vaticano += c7;
            //MUESTRO EL CONCLAVE
            Console.WriteLine(vaticano.Mostrar());
            //PROCESO DE VOTACION
            do
            {
                Conclave.VotarPapa(vaticano);
                Conclave.cantidadVotaciones++;
            } while (!(bool)vaticano);
            //MUESTRO EL RESULTADO DEL CONCLAVE
            Console.WriteLine(vaticano.Mostrar());
            Console.ReadLine();
        }
示例#2
0
        private static void ContarVotos(Conclave conclave)
        {
            int maxVotos       = 0;
            int cantMaxVotos   = 0;
            int indiceMaxVotos = 0;

            foreach (Cardenal item in conclave._cardenales)
            {
                if (item.getCantidadVotosRecibidos() > maxVotos)
                {
                    maxVotos = item.getCantidadVotosRecibidos();
                }
            }
            foreach (Cardenal item in conclave._cardenales)
            {
                if (item.getCantidadVotosRecibidos() == maxVotos)
                {
                    cantMaxVotos++;
                    indiceMaxVotos = conclave._cardenales.IndexOf(item);
                }
            }

            if (cantMaxVotos == 1)
            {
                conclave._papa        = conclave._cardenales[indiceMaxVotos];
                conclave._habemusPapa = true;
            }
            else
            {
                conclave._habemusPapa = false;
            }
        }
示例#3
0
        public static void VotarPapa(Conclave con)
        {
            int indicePapal;

            for (int i = 0; i < con._cardenales.Count; i++)
            {
                indicePapal = Conclave.objRandom.Next(0, con._cardenales.Count);
                con._cardenales[indicePapal]++;
            }

            Conclave.ContarVotos(con);
        }