Example #1
0
        protected override DeckLabel chooseClaim()
        {
            DeckLabel           cardLabels            = form.getmyDeck();
            Deck                selected_cards        = cardLabels.GetSelectedCards();
            DeckLabel           last_claim            = form.getLastClaimDeck();
            Card                previusclaimcard      = new Card(last_claim.Deck.GetCounts());
            List <List <Card> > redused_selected_list = selected_cards.ToReducedList();

            if (redused_selected_list.Count == 1 && previusclaimcard.Increase() == redused_selected_list[0][0])
            {
                return(form.gethighClaimOptionDeck());
            }

            if (redused_selected_list.Count == 1 && previusclaimcard.Decrease() == redused_selected_list[0][0])
            {
                return(form.getlowClaimOptionDeck());
            }
            else
            {
                if (random.NextDouble() >= 0.5)
                {
                    return(form.gethighClaimOptionDeck());
                }
                return(form.getlowClaimOptionDeck());
            }
        }
Example #2
0
        protected override void chooseRecord(DeckLabel claim)
        {
            string full_file_path = record_dir + claim.m_deck.ToRecordString();

            form.claim_record = new NAudio.Wave.WaveFileReader(full_file_path);

            return;
        }
Example #3
0
        protected bool haveLeagleMove()
        {
            List <CardLabel> cardLabels       = form.getmyDeck().m_cardLabels;
            DeckLabel        last_claim       = form.getLastClaimDeck();
            Card             previusclaimcard = new Card(last_claim.Deck.GetCounts());

            foreach (CardLabel c_lable in cardLabels)
            {
                if (previusclaimcard.Decrease() == c_lable.Card || previusclaimcard.Increase() == c_lable.Card)
                {
                    return(true);
                }
            }
            return(false);
        }
Example #4
0
        protected override int chooseCard()
        {
            int cards_chosen            = 0;
            List <CardLabel> cardLabels = form.getmyDeck().m_cardLabels;

            DeckLabel last_claim       = form.getLastClaimDeck();
            Card      previusclaimcard = new Card(last_claim.Deck.GetCounts());

            foreach (CardLabel c_lable in cardLabels)
            {
                if (previusclaimcard.Decrease() == c_lable.Card)
                {
                    c_lable.Selected = true;
                    cards_chosen++;
                }
            }
            if (cards_chosen > 0)
            {
                return(cards_chosen);
            }

            foreach (CardLabel c_lable in cardLabels)
            {
                if (previusclaimcard.Increase() == c_lable.Card)
                {
                    c_lable.Selected = true;
                    cards_chosen++;
                }
            }
            if (cards_chosen > 0)
            {
                return(cards_chosen);
            }

            cards_chosen = 1;
            for (int i = 0; i < cards_chosen; i++)
            {
                int index = random.Next(cardLabels.Count);
                cardLabels[index].Selected = true;
            }
            return(cards_chosen);
        }
Example #5
0
        private void play_move(DeckLabel claim)
        {
            if (shouldWait())
            {
                return;
            }
            Deck c   = new Deck(claim.m_deck);
            Deck act = new Deck();

            foreach (CardLabel c_lable in form.getmyDeck().m_cardLabels)
            {
                if (c_lable.Selected)
                {
                    act.Add(new Card(c_lable.Card));
                }
            }

            session.Add(new TurnHistory(c, act, form.claim_record, true));
            claim.RaiseSelectionChanged();
        }
Example #6
0
        private void makeMove()
        {
            switch (decise_move())
            {
            case MoveType.PlayMove:
                chooseCard();
                DeckLabel claim = chooseClaim();
                chooseRecord(claim);
                play_move(claim);
                break;

            case MoveType.TakeCard:
                form.TakeCardButton_Click(this, null);
                break;

            case MoveType.CallCheat:
                form.CallCheatButton_Click(this, null);
                break;
            }

            first_move  = false;
            board_valid = false;
            claim_valid = false;
        }
Example #7
0
 protected abstract void chooseRecord(DeckLabel claim);