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(); }
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; } }
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); }