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