Exemplo n.º 1
0
 public PlayerState getRightPlayer(PlayerState p)
 {
     if (p.getSeatNumber() == (players.Count-1))
     {
         return this.players[0];//first player
     }
     else
     {
         return this.players[(p.getSeatNumber() + 1)];
     }
 }
Exemplo n.º 2
0
 public PlayerState getRightPlayer(PlayerState p)
 {
     if (p.getSeatNumber() == (players.Count - 1))
     {
         return(this.players[0]);//first player
     }
     else
     {
         return(this.players[(p.getSeatNumber() + 1)]);
     }
 }
Exemplo n.º 3
0
 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)];
     }
 }
Exemplo n.º 4
0
//=================================================================================================================
// 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;
            }
        }
Exemplo n.º 5
0
 //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]));
 }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        //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]));
        }