public Card getNextCard(PlayerState p, List <Card> hand) { Card cur = ult.playPrimary(p, hand); if (cur != null) { return(cur); } //attempts to play wonder to increase science if ((p.getBoard().getName().Equals("WB3")) && (p.getBoard().getCurrentWonderLevel() < 2) && (ResourceManager.GetInstance().ValidateWonder(p))) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() != 6) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return(hand[i]); } } } if ((p.getBoard().getName().Equals("WB4")) && (p.getBoard().getCurrentWonderLevel() < 3) && (ResourceManager.GetInstance().ValidateWonder(p))) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() != 6) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return(hand[i]); } } } cur = ult.playSecondary(p, hand); if (cur != null) { return(cur); } cur = ult.buildWonder(p, hand); if (cur != null) { return(cur); } return(ult.playAnyCard(p, hand)); }
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 Card getNextCard(PlayerState p, List<Card> hand) { Card cur = ult.playPrimary(p, hand); if (cur != null) { return cur; } //attempts to play wonder to increase science if((p.getBoard().getName().Equals("WB3")) && (p.getBoard().getCurrentWonderLevel() < 2) && (ResourceManager.GetInstance().ValidateWonder(p))){ for (int i = 0; i < hand.Count; i++){ if(hand[i].getType() != 6){ p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return hand[i]; } } } if((p.getBoard().getName().Equals("WB4")) && (p.getBoard().getCurrentWonderLevel() < 3) && (ResourceManager.GetInstance().ValidateWonder(p))){ for (int i = 0; i < hand.Count; i++){ if(hand[i].getType() != 6){ p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return hand[i]; } } } cur = ult.playSecondary(p, hand); if (cur != null) { return cur; } cur = ult.buildWonder(p, hand); if (cur != null) { return cur; } return ult.playAnyCard(p, hand); }
//Mouse Click for "Add to Wonder" Button public void wonderCardButton_Click(object sender, EventArgs e) { if (player.getPlayedACard() == false && (player.getBoard().getMaxWonderLevel() > player.getWonderCards().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) { if (img.Source != new BitmapImage(new Uri(@"pack://*****:*****@"pack://application:,,,/Images/EmptyCard.png", UriKind.RelativeOrAbsolute)); Image imgl = (Image)playBoard.Children[91]; PlayerGameBoard play = new PlayerGameBoard(parent, player, game); } else { ResourceManager manager = ResourceManager.GetInstance(game); manager.resetResources(player); WonderBuyingWindow window = new WonderBuyingWindow(ResourceManager.GetInstance().GetCombinedResources(player), c, this, game); window.Show(); } } } } } }
//attempts to build a wonder public Card buildWonder(PlayerState p, List <Card> hand) { if (ResourceManager.GetInstance().ValidateWonder(p)) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() == strategy) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return(hand[i]); } } return(hand[0]); } return(null); }
private Card BuildWonder(PlayerState p, List <Card> hand) { if (p.getBoard().notMaxYet()) { for (int i = 0; i < hand.Count(); i++) { if (hand[i].getType() == 1 || hand[i].getType() == 2) { if (ResourceManager.GetInstance().ValidateWonder(p)) { strategy = new CommerceStrategy(); p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return(hand[i]); } } } } return(null); }
//attempts to build a wonder public Card buildWonder(PlayerState p, List<Card> hand) { if (ResourceManager.GetInstance().ValidateWonder(p)) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() == strategy) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return hand[i]; } } return hand[0]; } return null; }
public Card getNextCard(PlayerState p, List<Card> hand) { PlayerState left = ResourceManager.GetInstance().getGameState().getLeftPlayer(p); PlayerState right = ResourceManager.GetInstance().getGameState().getRightPlayer(p); int age = ResourceManager.GetInstance().getGameState().getAge(); Card cur; //Checks to see if AI has enough MilitaryPower to win the //the battles at the end of the Age if ((left.getMilitaryPower() >= p.getMilitaryPower() - age) || (right.getMilitaryPower() >= p.getMilitaryPower() - age)) { cur = ult.playPrimary(p, hand); if (cur != null) { return cur; } } //attempts to play wonder to increase military if ((p.getBoard().getName().Equals("WB7")) && (p.getBoard().getCurrentWonderLevel() < 2) && (ResourceManager.GetInstance().ValidateWonder(p))) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() != 6) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return hand[i]; } } } if ((p.getBoard().getName().Equals("WB8")) && (p.getBoard().getCurrentWonderLevel() < 2) && (ResourceManager.GetInstance().ValidateWonder(p))) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() != 6) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return hand[i]; } } } cur = ult.playSecondary(p, hand); if (cur != null) { return cur; } cur = ult.buildWonder(p, hand); if (cur != null) { return cur; } return ult.playAnyCard(p, hand); }
public Card getNextCard(PlayerState p, List<Card> hand) { Random random = new Random(); int randomNumber; Card c = null; if (ResourceManager.GetInstance().ValidateWonder(p)) { randomNumber = random.Next(0, 2); Console.WriteLine("attempting to play wonder " + randomNumber); if (randomNumber == 1) { Console.WriteLine("playing wonder " + randomNumber); randomNumber = random.Next(0, hand.Count - 1); c = hand[randomNumber]; p.setWonderCards(c); p.getBoard().incrementWonderLevel(p); } } List<int> availCards = new List<int>(); for (int i = 0; i < hand.Count; i++) { availCards.Add(i); } int trade; //selects a card to play for (int i = 0; i < hand.Count; i++) { randomNumber = random.Next(0, availCards.Count - 1); c = hand[availCards[randomNumber]]; if (ResourceManager.GetInstance().ValidateCard(p, c)) { p.addPlayedCards(c); return c; //Console.WriteLine("===================== CHECKED CARD ==========================="); } trade = ResourceManager.GetInstance().validateTrade(p, c, 0); if ((trade > 0) && (p.getCoins() >= trade)) { //.WriteLine(p.getName() + " trading for " + trade); p.updateCoins(-trade); ResourceManager.GetInstance().getGameState().getRightPlayer(p).updateCoins(trade); p.addPlayedCards(c); return c; } trade = ResourceManager.GetInstance().validateTrade(p, c, 1); if ((trade > 0) && (p.getCoins() >= trade)) { //Console.WriteLine(p.getName() + " trading for " + trade); p.updateCoins(-trade); p.addPlayedCards(c); ResourceManager.GetInstance().getGameState().getLeftPlayer(p).updateCoins(trade); return c; } availCards.Remove(randomNumber); //Console.Write("RANDOM STRATEGY:: AGE :: "); //Console.WriteLine(ResourceManager.GetInstance().getGameState().getAge()); } return null; }
// 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(); } } } }
public Card getNextCard(PlayerState p, List <Card> hand) { PlayerState left = ResourceManager.GetInstance().getGameState().getLeftPlayer(p); PlayerState right = ResourceManager.GetInstance().getGameState().getRightPlayer(p); int age = ResourceManager.GetInstance().getGameState().getAge(); Card cur; //Checks to see if AI has enough MilitaryPower to win the //the battles at the end of the Age if ((left.getMilitaryPower() >= p.getMilitaryPower() - age) || (right.getMilitaryPower() >= p.getMilitaryPower() - age)) { cur = ult.playPrimary(p, hand); if (cur != null) { return(cur); } } //attempts to play wonder to increase military if ((p.getBoard().getName().Equals("WB7")) && (p.getBoard().getCurrentWonderLevel() < 2) && (ResourceManager.GetInstance().ValidateWonder(p))) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() != 6) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return(hand[i]); } } } if ((p.getBoard().getName().Equals("WB8")) && (p.getBoard().getCurrentWonderLevel() < 2) && (ResourceManager.GetInstance().ValidateWonder(p))) { for (int i = 0; i < hand.Count; i++) { if (hand[i].getType() != 6) { p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return(hand[i]); } } } cur = ult.playSecondary(p, hand); if (cur != null) { return(cur); } cur = ult.buildWonder(p, hand); if (cur != null) { return(cur); } return(ult.playAnyCard(p, hand)); }
private Card BuildWonder(PlayerState p, List<Card> hand) { if (p.getBoard().notMaxYet()) { for (int i = 0; i < hand.Count(); i++) { if (hand[i].getType() == 1 || hand[i].getType() == 2) { if (ResourceManager.GetInstance().ValidateWonder(p)) { strategy = new CommerceStrategy(); p.setWonderCards(hand[i]); p.getBoard().incrementWonderLevel(p); return hand[i]; } } } } return null; }
public Card getNextCard(PlayerState p, List <Card> hand) { Random random = new Random(); int randomNumber; Card c = null; if (ResourceManager.GetInstance().ValidateWonder(p)) { randomNumber = random.Next(0, 2); Console.WriteLine("attempting to play wonder " + randomNumber); if (randomNumber == 1) { Console.WriteLine("playing wonder " + randomNumber); randomNumber = random.Next(0, hand.Count - 1); c = hand[randomNumber]; p.setWonderCards(c); p.getBoard().incrementWonderLevel(p); } } List <int> availCards = new List <int>(); for (int i = 0; i < hand.Count; i++) { availCards.Add(i); } int trade; //selects a card to play for (int i = 0; i < hand.Count; i++) { randomNumber = random.Next(0, availCards.Count - 1); c = hand[availCards[randomNumber]]; if (ResourceManager.GetInstance().ValidateCard(p, c)) { p.addPlayedCards(c); return(c); //Console.WriteLine("===================== CHECKED CARD ==========================="); } trade = ResourceManager.GetInstance().validateTrade(p, c, 0); if ((trade > 0) && (p.getCoins() >= trade)) { //.WriteLine(p.getName() + " trading for " + trade); p.updateCoins(-trade); ResourceManager.GetInstance().getGameState().getRightPlayer(p).updateCoins(trade); p.addPlayedCards(c); return(c); } trade = ResourceManager.GetInstance().validateTrade(p, c, 1); if ((trade > 0) && (p.getCoins() >= trade)) { //Console.WriteLine(p.getName() + " trading for " + trade); p.updateCoins(-trade); p.addPlayedCards(c); ResourceManager.GetInstance().getGameState().getLeftPlayer(p).updateCoins(trade); return(c); } availCards.Remove(randomNumber); //Console.Write("RANDOM STRATEGY:: AGE :: "); //Console.WriteLine(ResourceManager.GetInstance().getGameState().getAge()); } return(null); }