public PlayerState getRightPlayer(PlayerState p) { if (p.getSeatNumber() == (players.Count-1)) { return this.players[0];//first player } else { return this.players[(p.getSeatNumber() + 1)]; } }
public PlayerState getRightPlayer(PlayerState p) { if (p.getSeatNumber() == (players.Count - 1)) { return(this.players[0]);//first player } else { return(this.players[(p.getSeatNumber() + 1)]); } }
public PlayerState getLeftPlayer(PlayerState p) { if (p == null) { Console.WriteLine("Snap: PlayerState is null"); } if (p.getSeatNumber() == 0) { return this.players[players.Count-1];//last player } else { return this.players[(p.getSeatNumber()-1)]; } }
//================================================================================================================= // Create indicator circles next to player buttons RED = Currently Selected private void createPlayerRedCircles() { Canvas g = (Canvas)parent.Children[1]; int startLeft = 1175; int startTop = 25; int numP = game.getPlayers().Count; for (int i = 0; i < 7; i++) { Ellipse e = new Ellipse(); e.Width = 20; e.Height = 20; if (player.getSeatNumber() == i) { e.Fill = new SolidColorBrush(Colors.Red); } else { e.Fill = new SolidColorBrush(Colors.Black); } Canvas.SetTop(e, startTop); Canvas.SetLeft(e, startLeft); if (i >= numP) { e.Visibility = Visibility.Hidden; } g.Children.Add(e); startTop += 30; } }
//CoinTransaction public void coinExchange(PlayerState p) { gameState.getLeftPlayer(p).updateCoins(coinTransactions[0]); gameState.getRightPlayer(p).updateCoins(coinTransactions[1]); gameState.getPlayers()[p.getSeatNumber()].updateCoins(0 - coinTransactions[0] - coinTransactions[1]); System.Console.WriteLine("Coins Exchanged! Left: " + coinTransactions[0] + " Right: " + coinTransactions[1] + " You: " + (0 - coinTransactions[0] - coinTransactions[1])); }
public PlayerState getLeftPlayer(PlayerState p) { if (p == null) { Console.WriteLine("Snap: PlayerState is null"); } if (p.getSeatNumber() == 0) { return(this.players[players.Count - 1]);//last player } else { return(this.players[(p.getSeatNumber() - 1)]); } }
private void UpdateResources(PlayerState p, Card c) { //_logger.UpdatingPlayersResources(p,c); //_logger.DisplayResourceCost(p,c); if (c is CommerceCard) { KensUtilityfunctions k = new KensUtilityfunctions(); int income = k.calcCommerceIncome(c, gameState, p.getSeatNumber()); p.updateCoins(income); return; } if (c is ResourceCard) { //_logger.CheckResourceCard(p,c); //_logger.DisplayPlayersResources(p, hashtable); List<int> current = baseResources[p.getName()]; if (((ResourceCard)c).hasTradableResources()) { if ((((ResourceCard)c).getNumber() > 7) && (((ResourceCard)c).getNumber() < 14)) { //populate Special Resource Hashmap if the Card is a special resource List<ResourceCard> srlst = SResources[p.getName()]; srlst.Add((ResourceCard)c); SResources[p.getName()] = srlst; System.Console.WriteLine(p.getName() + " is adding Special Resource Card: {" + ((ResourceCard)c).getResources()[0] + "," + ((ResourceCard)c).getResources()[1] + "," + ((ResourceCard)c).getResources()[2] + "," + ((ResourceCard)c).getResources()[3] + "," + ((ResourceCard)c).getResources()[4] + "," + ((ResourceCard)c).getResources()[5] + "," + ((ResourceCard)c).getResources()[6] + "}"); } else { int[] tradableResources = ((ResourceCard)c).getResources(); for (int index = 0; index < tradableResources.Count(); index++) { switch (index) { case (int)Resource.Wood: current[(int)Resource.Wood] += tradableResources[index]; break; case (int)Resource.Stone: current[(int)Resource.Stone] += tradableResources[index]; break; case (int)Resource.Clay: current[(int)Resource.Clay] += tradableResources[index]; break; case (int)Resource.Ore: current[(int)Resource.Ore] += tradableResources[index]; break; case (int)Resource.Glass: current[(int)Resource.Glass] += tradableResources[index]; break; case (int)Resource.Loom: current[(int)Resource.Loom] += tradableResources[index]; break; case (int)Resource.Paper: current[(int)Resource.Paper] += tradableResources[index]; break; } } System.Console.WriteLine(p.getName() +" is adding: {" + tradableResources[0] + "," + tradableResources[1] + "," + tradableResources[2] + "," + tradableResources[3] + "," + tradableResources[4] + "," + tradableResources[5] + "," + tradableResources[6] + "}"); baseResources[p.getName()] = current; //_logger.DisplayPlayersResources(p, hashtable); } } return; } //_logger.CheckDictionary(p,hashtable); //_logger.DisplayPlayersResources(p, hashtable); }
private void UpdateResources(PlayerState p, Card c) { //_logger.UpdatingPlayersResources(p,c); //_logger.DisplayResourceCost(p,c); if (c is CommerceCard) { //Coin Transaction from playing a commerce Card KensUtilityfunctions k = new KensUtilityfunctions(); int income = k.calcCommerceIncome(c, gameState, p.getSeatNumber()); p.updateCoins(income); //Adding commerce card if it affects trade/resources if (((c.getNumber() > 30) && (c.getNumber() < 37)) || ((c.getNumber() > 70) && (c.getNumber() < 77))) { ComCards[p.getName()].Add((CommerceCard)c); } return; } if (c is ResourceCard) { //_logger.CheckResourceCard(p,c); //_logger.DisplayPlayersResources(p, hashtable); List <int> current = baseResources[p.getName()]; if (((ResourceCard)c).hasTradableResources()) { if ((((ResourceCard)c).getNumber() > 7) && (((ResourceCard)c).getNumber() < 14)) { //populate Special Resource Hashmap if the Card is a special resource List <ResourceCard> srlst = SResources[p.getName()]; srlst.Add((ResourceCard)c); SResources[p.getName()] = srlst; //System.Console.WriteLine(p.getName() + " is adding Special Resource Card: {" + ((ResourceCard)c).getResources()[0] + "," + ((ResourceCard)c).getResources()[1] + "," + ((ResourceCard)c).getResources()[2] + "," + ((ResourceCard)c).getResources()[3] + "," + ((ResourceCard)c).getResources()[4] + "," + ((ResourceCard)c).getResources()[5] + "," + ((ResourceCard)c).getResources()[6] + "}"); } else { int[] tradableResources = ((ResourceCard)c).getResources(); for (int index = 0; index < tradableResources.Count(); index++) { switch (index) { case (int)Resource.Wood: current[(int)Resource.Wood] += tradableResources[index]; break; case (int)Resource.Stone: current[(int)Resource.Stone] += tradableResources[index]; break; case (int)Resource.Clay: current[(int)Resource.Clay] += tradableResources[index]; break; case (int)Resource.Ore: current[(int)Resource.Ore] += tradableResources[index]; break; case (int)Resource.Glass: current[(int)Resource.Glass] += tradableResources[index]; break; case (int)Resource.Loom: current[(int)Resource.Loom] += tradableResources[index]; break; case (int)Resource.Paper: current[(int)Resource.Paper] += tradableResources[index]; break; } } //System.Console.WriteLine(p.getName() +" is adding: {" + tradableResources[0] + "," + tradableResources[1] + "," + tradableResources[2] + "," + tradableResources[3] + "," + tradableResources[4] + "," + tradableResources[5] + "," + tradableResources[6] + "}"); baseResources[p.getName()] = current; //_logger.DisplayPlayersResources(p, hashtable); } } return; } //_logger.CheckDictionary(p,hashtable); //_logger.DisplayPlayersResources(p, hashtable); }