private void wonder_Click(object sender, RoutedEventArgs e)
        {
            String name = image.Source.ToString();

            String subs = name.Split(',').Last();
            String last = subs.Split('/').Last();

            if (!last.Equals("BackOfWonderCards.png"))//make sure its not the placeholder
            {
                if (player.getPlayedACard() == false && (player.getBoard().getMaxWonderLevel() > player.getWonderCards().Count))
                {
                    if (rm.ValidateWonder(player))
                    {
                        player.getHand().Remove(cardToPlay);//remove from cards in hand of player

                        player.setWonderCards(cardToPlay);
                        player.getBoard().incrementWonderLevel(player);

                        this.Close();
                        PlayerGameBoard play = new PlayerGameBoard(parent, player, rm.getGameState());
                    }
                    else
                    {
                        this.Close();
                        ResourceManager manager = ResourceManager.GetInstance(rm.getGameState());
                        manager.resetResources(player);

                        WonderBuyingWindow window = new WonderBuyingWindow(ResourceManager.GetInstance().GetCombinedResources(player), cardToPlay, view, rm.getGameState());
                        window.Show();
                    }
                }
            }
        }
Exemplo n.º 2
0
        public PlayerGameBoard(Grid gameGrid, PlayerState p, GameState g)
        {
            player = p;
            parent = gameGrid;             //only 1 child
            if (parent.Children.Count > 1) //handle the case where there is existing child when we change views
            {
                parent.Children.Remove(parent.Children[1]);
                //System.Console.WriteLine("Child Removed");
            }
            game = g;
            if (game.getAge() == 4)//game is over
            {
                ScoreWindow s = new ScoreWindow(game, parent);
                s.Show();;
            }

            playBoard = new Canvas();
            parent.Children.Add(playBoard);                           //now child[1], two children

            createCardStack("R", 179, 10, playBoard);                 //0-9
            createCardStack("M", 336, 10, playBoard);                 //10-19
            createCardStack("S", 493, 10, playBoard);                 //20-29
            createCardStack("Civ", 650, 10, playBoard);               //30-39
            createCardStack("Com", 807, 10, playBoard);               //40-49
            createCardStack("G", 964, 6, playBoard);                  //50-55
            createHandStack();                                        //56-62
            updateAge(game.getAge());                                 //63
            createWonderBoard(player.getBoard().getName());           //64
            createPlayerButtons();                                    //65-71
            createPlayerRedCircles();                                 //72-78
            createPlayerBlueCircles();                                //79-85
            createMoveButtons();                                      //86-89
            updateMoney();                                            //90
            createWonderSpots(player.getBoard().getMaxWonderLevel()); //[91-94] variable length
            createRulesButton();                                      //variable base on above wonder
            updateWonderSpots(player.getWonderCards());
            updateHand(player.getHand());
            updateCards(player.getPlayedCards());
        }
Exemplo n.º 3
0
        int g_index = 0;//needed to reset ZIndex to original value upon mouse events

        public PlayerGameBoard(Grid gameGrid, PlayerState p, GameState g)
        {
            player = p;
            parent = gameGrid;//only 1 child
            if (parent.Children.Count > 1)//handle the case where there is existing child when we change views
            {
                parent.Children.Remove(parent.Children[1]);
                //System.Console.WriteLine("Child Removed");
            }
            game = g;
            if (game.getAge() == 4)//game is over
            {
                ScoreWindow s = new ScoreWindow(game, parent);
                s.Show(); ;
            }

            playBoard = new Canvas();
            parent.Children.Add(playBoard);//now child[1], two children

            createCardStack("R", 179, 10, playBoard);//0-9
            createCardStack("M", 336, 10, playBoard);//10-19
            createCardStack("S", 493, 10, playBoard);//20-29
            createCardStack("Civ", 650, 10, playBoard);//30-39
            createCardStack("Com", 807, 10, playBoard);//40-49
            createCardStack("G", 964, 6, playBoard);//50-55
            createHandStack();//56-62
            updateAge(game.getAge());//63
            createWonderBoard(player.getBoard().getName());//64
            createPlayerButtons();//65-71
            createPlayerRedCircles();//72-78
            createPlayerBlueCircles();//79-85
            createMoveButtons();//86-89
            updateMoney();//90
            createWonderSpots(player.getBoard().getMaxWonderLevel());//[91-94] variable length
            createRulesButton();//variable base on above wonder
            updateWonderSpots(player.getWonderCards());
            updateHand(player.getHand());
            updateCards(player.getPlayedCards());            
        }
Exemplo n.º 4
0
//Mouse Click for "Play Card" button
        public void playerMoveButton_Click(object sender, EventArgs e)
        {
            if (player.getPlayedACard() == false)
            {
                int numCards = player.getHand().Count;

                for (int i = 0; i < player.getHand().Count; i++)
                {
                    Card  c   = player.getHand()[i];
                    Image img = (Image)playBoard.Children[(56 + i)];

                    if (img.ActualHeight > 150)//this is the selected card
                    {
                        if (img.Source != new BitmapImage(new Uri(@"pack://*****:*****@"pack://application:,,,/Images/EmptyCard.png", UriKind.RelativeOrAbsolute));
                                PlayerGameBoard play = new PlayerGameBoard(parent, player, game);
                            }
                            else
                            {
                                ResourceManager manager = ResourceManager.GetInstance(game);
                                manager.resetResources(player);

                                ResourceBuying window = new ResourceBuying(ResourceManager.GetInstance().GetCombinedResources(player), c, this, game);
                                window.Show();
                            }
                        }
                    }
                }
            }
        }
// This button click handler finds which button you pressed and then modifies the appropriate
// Player resources as well calling methods for removing and adding money
// B[1,7] = YOU, B[8,14] = LEFT, B[15-21] = RIGHT

        private void buyButton_Click(object sender, RoutedEventArgs e)
        {
            Button b    = (Button)sender;
            string name = b.Name;//have button name will travel

            int index;

            if (name.Length > 2)
            {
                index = ((int)Char.GetNumericValue(name[1]) * 10) + (int)Char.GetNumericValue(name[2]);
            }
            else
            {
                index = (int)Char.GetNumericValue(name[1]);//know which number
            }

            if (index > 0 && index < 8)//Player clicked on YOU
            {
                manager.usingSpecialResource(you, (index - 1));
                resources = manager.GetCombinedResources(you);

                if (manager.ValidateWonder(you)) //ok check if you can play the card now.
                {
                    you.getHand().Remove(card);  //remove from cards in hand of player
                    you.setPlayedACard();        //set true
                    you.setWonderCards(card);

                    you.getBoard().incrementWonderLevel(you);
                    manager.getGameState().incrementTurn();
                    this.Close();
                    PlayerGameBoard play = new PlayerGameBoard(board.getGrid(), you, manager.getGameState());
                }
                else
                {
                    this.Close();

                    WonderBuyingWindow window = new WonderBuyingWindow(resources, card, board, game);
                    window.Show();
                }
            }

            if (index > 7 && index < 15)//Player clicked on LEFT
            {
                int i = (index - 8);

                if (manager.canAfford(you))
                {
                    //PlayerGameBoard play = new PlayerGameBoard(board.getGrid(), you, manager.getGameState());
                    Canvas c = (Canvas)board.getGrid().Children[1];
                    Label  l = (Label)c.Children[90];
                    l.Content = " " + manager.getTempCoins(you);

                    manager.tradeTo(you, i, 0);
                    resources = manager.GetCombinedResources(you);

                    if (manager.ValidateWonder(you)) //ok check if you can play the card now.
                    {
                        you.getHand().Remove(card);  //remove from cards in hand of player
                        you.setPlayedACard();        //set true
                        you.setWonderCards(card);
                        you.getBoard().incrementWonderLevel(you);
                        manager.getGameState().incrementTurn();
                        this.Close();
                        PlayerGameBoard play = new PlayerGameBoard(board.getGrid(), you, manager.getGameState());
                    }
                    else
                    {
                        this.Close();

                        WonderBuyingWindow window = new WonderBuyingWindow(resources, card, board, game);
                        window.Show();
                    }
                }
            }

            if (index > 14 && index < 22) //Player clicked on RIGHT
            {
                int i = (index - 15);     //0-6 the resource traded

                if (manager.canAfford(you))
                {
                    Canvas c = (Canvas)board.getGrid().Children[1];
                    Label  l = (Label)c.Children[90];
                    l.Content = " " + manager.getTempCoins(you);

                    manager.tradeTo(you, i, 1);
                    resources = manager.GetCombinedResources(you);

                    if (manager.ValidateWonder(you)) //ok check if you can play the card now.
                    {
                        you.getHand().Remove(card);  //remove from cards in hand of player
                        you.setPlayedACard();        //set true
                        you.setWonderCards(card);
                        you.getBoard().incrementWonderLevel(you);
                        manager.getGameState().incrementTurn();
                        this.Close();
                        PlayerGameBoard play = new PlayerGameBoard(board.getGrid(), you, manager.getGameState());
                    }
                    else
                    {
                        this.Close();

                        WonderBuyingWindow window = new WonderBuyingWindow(resources, card, board, game);
                        window.Show();
                    }
                }
            }
        }