public override bool isAccomplished(List <RiskPlayer> players, RiskPlayer player, List <Continent> world) { int nLands = 0; int nLandsOwned; foreach (Continent continent in continentsToConquer) { nLands = continent.getLands().Count; nLandsOwned = 0; foreach (Land land in continent.getLands()) { if (player.hasLand(land.getName())) { nLandsOwned += 1; } } if (nLands != nLandsOwned) { return(false); } } return(true); }
public override bool isAccomplished(List <RiskPlayer> players, RiskPlayer player, List <Continent> world) { if (player.getTerritoryOwned().Count == nTerritoryGoal) { return(true); } return(false); }
public void passLand(Land landAttacker, Land landDefender, RiskPlayer oldOwner, RiskPlayer newOwner, int tanks) { oldOwner.removeLand(landDefender); newOwner.addLand(landDefender); moveTanks(landAttacker, landDefender, tanks); if (!newOwner.getConqueredLand()) { newOwner.setConqueredLand(true); } }
public override void fixGoal(List <RiskPlayer> players, RiskPlayer player, List <Continent> world) { int index = Random.Range(0, players.Count - 1); while (player.getName().Equals(players[index].getName()) || isSameTarget(players, players[index].getName())) { index = Random.Range(0, players.Count - 1); } target = players[index].getName(); }
public override void fixGoal(List <RiskPlayer> players, RiskPlayer player, List <Continent> world) { int nLands = 0; foreach (Continent continent in world) { nLands += continent.getLands().Count; } nTerritoryGoal = nLands * PERCENTAGE / 100; }
public void nextPlayer() { int index = players.IndexOf(currentPlayer); if (index == players.Count - 1) { currentPlayer = players[0]; } else { currentPlayer = players[index + 1]; } }
private RiskPlayer getPlayerByName(string name) { RiskPlayer searching = null; foreach (RiskPlayer player in players) { if (player.getName().Equals(name)) { searching = player; } } return(searching); }
public void giveTanks(RiskPlayer player, List <Continent> world) { int nTanks = player.getTotalLand() / 3; foreach (Continent continent in world) { if (player.hasContinent(continent)) { nTanks += continent.getBonusTank(); } } player.addTanks(nTanks); }
public override void fixGoal(List <RiskPlayer> players, RiskPlayer player, List <Continent> world) { int index1 = Random.Range(0, world.Count - 1); int index2 = Random.Range(0, world.Count - 1); while (index1 == index2 || areSameGoal(players, player.getName(), world[index1], world[index2])) { index1 = Random.Range(0, world.Count - 1); index2 = Random.Range(0, world.Count - 1); } continentsToConquer.Add(world[index1]); continentsToConquer.Add(world[index2]); }
public override bool isAccomplished(List <RiskPlayer> players, RiskPlayer player, List <Continent> world) { foreach (RiskPlayer p in players) { if (player.getColor().Equals(target)) { if (player.getTotalLand() == 0) { return(true); } else { return(false); } } } return(false); }
// Assegna al player i tanks in base al tris di carte precedentement selezionate dal player public void useCards(RiskPlayer player, List <LandCard> cards, string type, Dealer dealer, int additionalTanks) { if (type.Equals("Equal")) { player.addTanks(getTanks(cards[0].getSymbol()) + additionalTanks); player.removeLandCard(cards); dealer.addCardsToDeck(cards); } else if (type.Equals("Different")) { player.addTanks(10 + additionalTanks); player.removeLandCard(cards); dealer.addCardsToDeck(cards); } else { player.addTanks(12 + additionalTanks); player.removeLandCard(cards); dealer.addCardsToDeck(cards); } }
public DataManager(List <RiskPlayer> players, List <Continent> world, List <Land> lands) { gameManager = new GameManager(); this.players = players; this.world = world; currentPlayer = this.players[0]; currentPhase = START_DEPLOYMENT; dealer = new Dealer(lands); Debug.Log("The killer!"); gameManager.distributeTanksToPlayers(players); dealer.drawCards(players); Debug.Log("Gnè!"); foreach (RiskPlayer player in players) { dealer.assignGoal(players, player, world); } Debug.Log("Quello che vuoi"); }
public void addTanks(RiskPlayer player, Land land, int nTank) { player.removeTanks(nTank); land.addTanksOnLand(nTank); }
public void startGame() { currentPhase = DEPLOYMENT; currentPlayer = players[0]; }
public abstract bool isAccomplished(List <RiskPlayer> players, RiskPlayer player, List <Continent> world);
public abstract void fixGoal(List <RiskPlayer> players, RiskPlayer player, List <Continent> world);
public void setPhaseByMessage(string message) { string[] info = message.Split(new[] { System.Environment.NewLine }, System.StringSplitOptions.None); currentPlayer = getPlayerByName(info[0]); currentPhase = info[1]; }
public void setDefendPhase(string landDefender) { currentPlayer = getPlayerByName(getPlayerByLand(landDefender)); currentPhase = DEFEND; }
public void setAttackPhase(string landAttacker) { currentPlayer = getPlayerByName(getPlayerByLand(landAttacker)); currentPhase = ATTACK; }