// Indica el dueño de la empresa public void comprarEmpresa(Jugador jugador, Empresa empresa) { // Resta al jugador el dinero que vale comprar la empresa jugador.agregarDinero(-empresa.precio); // En caso de que el jugador quede sin dinero, este pierde if (jugador.Dinero < 0) { jugador.Bancarota = true; } // Asigna un dueño a la empresa que se está comprando empresa.dueño = jugador; MessageBox.Show(jugador.nombre + " compra " + empresa.nombre + "\n"); // Sinergia Industria if (jugador.cantidadPorIndustrias.ContainsKey(empresa.industria)) { jugador.cantidadPorIndustrias[empresa.industria]++; if (jugador.cantidadPorIndustrias[empresa.industria] == 2) { if (empresa.industria == Industria.Comida) { MessageBox.Show(jugador.nombre + ", ahora tienes la sigeneria de " + empresa.industria + ":\n\n" + "Las casillas libres dan bonificacion"); } else if (empresa.industria == Industria.Tecnologia) { MessageBox.Show(jugador.nombre + ", ahora tienes la sigeneria de " + empresa.industria + ":\n\n" + "Evitas ir a la carcel"); } else if (empresa.industria == Industria.Transporte) { MessageBox.Show(jugador.nombre + ", ahora tienes la sigeneria de " + empresa.industria + ":\n\n" + "Puedes moverte un espacio adicional"); } else if (empresa.industria == Industria.Entretenimiento) { MessageBox.Show(jugador.nombre + ", ahora tienes la sigeneria de " + empresa.industria + ":\n\n" + "Se potencia la bonificacion de los drops"); } else { MessageBox.Show(jugador.nombre + ", ahora tienes la sigeneria de " + empresa.industria + ":\n\n" + "No te afectan las penalizaciones"); } } } else { jugador.cantidadPorIndustrias[empresa.industria] = 1; } if (jugador.cantidadPorCategorias.ContainsKey(empresa.categoria)) { jugador.cantidadPorCategorias[empresa.categoria]++; if (jugador.cantidadPorCategorias[empresa.categoria] == 2) { MessageBox.Show(jugador.nombre + ", ahora podras comprar acciones de esta categoria."); } } else { jugador.cantidadPorCategorias[empresa.categoria] = 1; } }
// Actualiza el dinero de un jugador public void modificarDinero(Jugador jugador, int dinero) { jugador.agregarDinero(dinero);; // En caso de restar dinero y el jugador pasa a valores negativos lo saca del juego if (jugador.Dinero < 0) { jugador.Bancarota = true; MessageBox.Show(jugador.nombre + " Salio de la partida. \n"); } }
// Agrega las acciones de una empresa a su dueño correspondiente public void comprarAcciones(Jugador jugador, Empresa empresa) { MessageBox.Show(jugador.nombre + " compra una accion de " + empresa.nombre + "\n"); jugador.agregarDinero(-empresa.precioAccion); if (jugador.Dinero < 0) { jugador.Bancarota = true; } empresa.acciones++; }
// Permite verificar el estado de casilla y verificar si un jugador es apto o no para comprar(Empresas o Acciones) public void casillaEmpresa(Jugador jugador) { // Localiza la empresa en la que se encuentra el jugador Empresa empresa = empresas[jugador.Posicion]; if (empresa.dueño == null) { if (jugador.Dinero >= empresa.precio) { jugador.ComprarEmpresa = true; } } else if (empresa.dueño != jugador) { int total; total = empresa.venta + (empresa.acciones * empresa.precioAccion); // Total = valor de Empresa + (Valor de accion * Precio accion) jugador.agregarDinero(-total); empresa.dueño.agregarDinero(total); MessageBox.Show(jugador.nombre + " paga " + total + " a " + empresa.dueño.nombre + "\n"); if (jugador.Dinero < 0) { jugador.Bancarota = true; MessageBox.Show(jugador.nombre + " terminó su carrera por bancarota\n"); } } // El jugador puede comprar acciones cuando tres empresas de la misma categoria son de su propiedad. else if (jugador.cantidadPorCategorias[empresa.categoria] > 1 && empresa.acciones < 3) // minimo 3 empresas de misma categoria, maximo 3 acciones { if (jugador.Dinero >= empresa.precioAccion) { jugador.ComprarAccion = true; MessageBox.Show(jugador.nombre + " puede comprar acciones"); } } }
// Añade dinero al jugador (usado para la casilla de inicio) public void agregarDinero(Jugador jugador) { jugador.agregarDinero(2000); MessageBox.Show(jugador.nombre + " recibió $2000\n"); }