Ejemplo n.º 1
0
        public DiscardsWindow(PlayerState p, Grid g)
        {
            player   = p;
            parent   = g;
            discards = rm.getGameState().getDiscards();

            InitializeComponent();
        }
        private void buttonPlay_Click(object sender, RoutedEventArgs e)
        {
            if (rm.ValidateCard(player, cardToPlay))
            {
                player.addPlayedCards(cardToPlay);
                this.Close();
                PlayerGameBoard play = new PlayerGameBoard(parent, player, rm.getGameState());
            }
            else
            {
                this.Close();
                ResourceManager manager = ResourceManager.GetInstance(rm.getGameState());
                manager.resetResources(player);

                ResourceBuying window = new ResourceBuying(ResourceManager.GetInstance().GetCombinedResources(player), cardToPlay, view, rm.getGameState());
                window.Show();
            }
        }
Ejemplo n.º 3
0
        public WonderBuyingWindow(Resources res, Card c, PlayerGameBoard p, GameState g)
        {
            resources = res;
            card      = c;
            board     = p;
            game      = g;
            manager   = ResourceManager.GetInstance();
            you       = manager.getGameState().getPlayerNum(resources.getPlayerName()[1]);

            InitializeComponent();
            createButtons();
            createValueFields();
        }
        public WonderBuyingWindow(Resources res, Card c, PlayerGameBoard p, GameState g)
        {
            resources = res;
            card      = c;
            board     = p;
            game      = g;
            manager   = ResourceManager.GetInstance();
            you       = manager.getGameState().getPlayerNum(resources.getPlayerName()[1]);

            InitializeComponent();
            createButtons();
            createValueFields();
        }
Ejemplo n.º 5
0
        public ResourceBuying(Resources res, Card c, PlayerGameBoard p, GameState g)
        {
            resources = res;

            //Console.WriteLine(resources.ToString());
            
            card    = c;
            board   = p;
            game    = g;
            manager = ResourceManager.GetInstance();


            you = manager.getGameState().getPlayerNum(resources.getPlayerName()[1]);
            
            InitializeComponent();
            createButtons();
            createValueFields();
        }
Ejemplo n.º 6
0
        public ResourceBuying(Resources res, Card c, PlayerGameBoard p, GameState g)
        {
            resources = res;

            //Console.WriteLine(resources.ToString());

            card    = c;
            board   = p;
            game    = g;
            manager = ResourceManager.GetInstance();


            you = manager.getGameState().getPlayerNum(resources.getPlayerName()[1]);

            InitializeComponent();
            createButtons();
            createValueFields();
        }
// 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();
                    }
                }
            }
        }