Beispiel #1
0
        internal void MakePlayerCardPlacement(CardPlacement placement, Card newCard)
        {
            switch (placement)
            {
            case CardPlacement.H1:
                DiscardCard(CurrentPlayer.SwapCard("H1", newCard));
                break;

            case CardPlacement.H2:
                DiscardCard(CurrentPlayer.SwapCard("H2", newCard));
                break;

            case CardPlacement.V1:
                DiscardCard(CurrentPlayer.SwapCard("V1", newCard));
                break;

            case CardPlacement.V2:
                DiscardCard(CurrentPlayer.SwapCard("V2", newCard));
                break;

            case CardPlacement.Discard:
                DiscardCard(newCard);
                break;
            }
        }
Beispiel #2
0
        public static CardPlacement PlaceCard(List <int> _playerCards, int _cardToPlace)
        {
            _playerCards.Add(_cardToPlace);
            string choiceString = ModelManager.ChooseCardPlacement(_playerCards);
            int    choiceInt    = int.Parse(choiceString);

            CardPlacement placement = (CardPlacement)Enum.ToObject(typeof(CardPlacement), choiceInt);

            return(placement);
        }
Beispiel #3
0
        public static CardPlacement PlaceCard(List <int> _playerCards, int _cardToPlace)
        {
            Random rand = new Random();

            string[] choices = Enum.GetNames(typeof(CardPlacement));
            int      i       = rand.Next(choices.Length);

            CardPlacement thisChoice = (CardPlacement)Enum.ToObject(typeof(CardPlacement), i);

            return(thisChoice);
        }
Beispiel #4
0
        public CardMapping(CardType type, CardPlacement cardPlacement)
        {
            InitializeComponent();

            _card           = new Card((int)type);
            _card.Placement = cardPlacement;

            // FOR DEBUG
            //object o = Properties.Resources.ResourceManager.GetObject(_card.Type.ToString());
            object o = Properties.Resources.Back;

            Image = (Bitmap)o;
        }
Beispiel #5
0
        public void ProcessCurrentTurn()
        {
            if (CurrentPlayerHuman)
            {
                Views.DrawChoiceWindow drawChoiceWindow = new Views.DrawChoiceWindow();
                drawChoiceWindow.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
                drawChoiceWindow.ShowDialog();

                CardChoice choice = drawChoiceWindow.DrawCard;
                Card       card   = TheBoard.GetCardFromChoice(choice);

                Views.PlacementChoiceWindow placementWindow = new Views.PlacementChoiceWindow();
                placementWindow.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

                placementWindow.label_DrawnCard.Content = string.Format("Drawn Value: {0}", card.Number);
                placementWindow.ShowDialog();

                CardPlacement placement = placementWindow.Placement;
                int           change    = TheBoard.MakePlayerCardPlacement(placement, card);

                RecordMoveandResults(TheBoard.GetBoardStateOfPlayer(TheBoard.CurrentPlayer), choice, card, placement, change);

                EndTurn();
            }
            else
            {
                BoardState  state  = TheBoard.GetBoardStateOfPlayer(TheBoard.CurrentPlayer);
                PlayerModel pModel = GetModelOfPlayer(TheBoard.CurrentPlayer);

                CardChoice choice = pModel.ComputerChooseCard(state);

                Card card = TheBoard.GetCardFromChoice(choice);

                CardPlacement placement = GetPlacementChoice(pModel, card);

                int change = TheBoard.MakePlayerCardPlacement(placement, card);

                RecordMoveandResults(state, choice, card, placement, change);

                EndTurn();
            }
        }
Beispiel #6
0
        public int MakePlayerCardPlacement(CardPlacement placement, Card newCard)
        {
            switch (placement)
            {
            case CardPlacement.H1:
            {
                int oldVal = CurrentPlayer.CardDict["H1"].Number;
                DiscardCard(CurrentPlayer.SwapCard("H1", newCard));
                return(newCard.Number - oldVal);
            }

            case CardPlacement.H2:
            {
                int oldVal = CurrentPlayer.CardDict["H2"].Number;
                DiscardCard(CurrentPlayer.SwapCard("H2", newCard));
                return(newCard.Number - oldVal);
            }

            case CardPlacement.V1:
            {
                int oldVal = CurrentPlayer.CardDict["V1"].Number;
                DiscardCard(CurrentPlayer.SwapCard("V1", newCard));
                return(newCard.Number - oldVal);
            }

            case CardPlacement.V2:
            {
                int oldVal = CurrentPlayer.CardDict["V2"].Number;
                DiscardCard(CurrentPlayer.SwapCard("V2", newCard));
                return(newCard.Number - oldVal);
            }

            case CardPlacement.Discard:
            {
                DiscardCard(newCard);
                return(0);
            }
            }
            return(0);
        }
Beispiel #7
0
 void Awake()
 {
     _cards           = new List <GameObject>();
     CardPlaceManager = GetComponent <CardPlacement>();
 }
 public void MoveCard(CardPlacement dest, byte card_ID)
 {
     cards[card_ID].placement = dest;
 }
 public void AddCard(CardPlacement dest, byte card_ID, int template_ID)
 {
     cards.Add(card_ID, new Card(template_ID, dest));
 }
 public void MoveCard(CardPlacement dest, byte card_ID)
 {
     player.MoveCard(dest, card_ID);
     Update();
 }
 public void AddCard(CardPlacement dest, byte card_ID, int template_ID)
 {
     player.AddCard(dest, card_ID, template_ID);
     Update();
 }
Beispiel #12
0
        private static void RecordMoveandResults(BoardState state, CardChoice choice, Card card, CardPlacement placement, int change)
        {
            DecisionResults results = new DecisionResults();

            results.DrawChoice      = choice;
            results.DrawnCardValue  = card.Number;
            results.PlacementChoice = placement;
            results.HandValueChange = change;

            JSONwriter.RecordStateAndResults(state, results);
        }
Beispiel #13
0
 //temporary constructor for testing:
 public Card(String n, short bs, short b, CardColor c, CardPlacement p)
 {
     name = n; base_strength = bs; buff = b; armor = 0; placement = p; color = c;
 }
Beispiel #14
0
 public Card(int template_ID, CardPlacement placement)
 {
     this.placement = placement;
     //here we browse database for card with given template_ID
     name = "Test"; base_strength = buff = armor = 3;
 }