コード例 #1
0
        public void zetIn(int nieuweInzet)
        {
            //huidige speler ophalen
            playerController huidigeSpeler = _controllerPoker.getModelPoker().getCurrentPlayer();
            //ophalen van huidige inzet
            int huidigeInzet = huidigeSpeler.getModelPlayer().MomenteleInzet;
            //berekenen van verschil tussen grootste bet en huige ingezet
            int verschilHuidig = nieuweInzet - huidigeInzet;

            //verschil verminderen van kapitaal en nieuwe inzet voor speler + totaalpot
            huidigeSpeler.getModelPlayer().MomenteleInzet += verschilHuidig;
            huidigeSpeler.getModelPlayer().Kapitaal -= verschilHuidig;
            _controllerPoker.getModelPoker().FlopController.getModelPlayer().Kapitaal += verschilHuidig;
            //updaten van view speler en flop
            huidigeSpeler.getViewPlayer().updateKapitaal();
            huidigeSpeler.getViewPlayer().updateCurInzet();
            _controllerPoker.getModelPoker().FlopController.getViewPlayer().updateKapitaal();
            _controllerPoker.changeBet(nieuweInzet);
        }
コード例 #2
0
        public playerController giveControllerWinner()
        {
            //rondgaan per speler wat hij/zij heeft
            int[] scoresHand = new int[_model.NumberOfPlayers];
            playerController[] arrPlayers = new playerController[_model.NumberOfPlayers];
            int indexCur = 0;

            foreach (playerController player in _model.Players)
            {
                arrPlayers[indexCur] = player;
                scoresHand[indexCur] = checkHand(player);
                indexCur++;
            }

            //sorteer op hoogste scores
            Array.Sort(scoresHand, arrPlayers);
            Array.Reverse(arrPlayers);
            Array.Reverse(scoresHand);
            //enkel lijst van spelers overhouden met hoogste scores
            int hoogsteScore = scoresHand[0];
            int tellerIndex  = 0;
            List <playerController> bestPlayers = new List <playerController>();

            foreach (int score in scoresHand)
            {
                if (score == hoogsteScore)
                {
                    bestPlayers.Add(arrPlayers[tellerIndex]);
                }
                tellerIndex++;
            }
            playerController winner = bestPlayers[0];

            if (bestPlayers.Count == 1)
            {
                winner = bestPlayers[0];
            }
            else
            {
                List <int> arrHighestCard = new List <int>();
                foreach (playerController player in bestPlayers)
                {
                    int highestCard2 = 0;
                    foreach (cardView curCardView in player.getCardsView())
                    {
                        int cardValue = curCardView.getControllerCard().getModelCard().CardValue;
                        if (cardValue > highestCard2)
                        {
                            highestCard2 = cardValue;
                        }
                    }
                    arrHighestCard.Add(highestCard2);
                }
                int test = arrHighestCard.Distinct().Count();
                IEnumerable <int> newVal = arrHighestCard.Distinct();
                if (arrHighestCard.Distinct().Count() != arrHighestCard.Count)
                {
                    //splitPot();
                    //return null;
                }
                int indexOfHighest = 0;
                int highestCard    = 0;
                int indexCurPlay   = 0;
                foreach (int highestCardPlayer in arrHighestCard)
                {
                    if (highestCardPlayer > highestCard)
                    {
                        highestCard    = highestCardPlayer;
                        indexOfHighest = indexCurPlay;
                    }
                    indexCurPlay++;
                }
                winner = bestPlayers[indexOfHighest];
            }
            winner.getModelPlayer().Kapitaal += _model.FlopController.getModelPlayer().Kapitaal;
            return(winner);
        }
コード例 #3
0
 public void updateName()
 {
     naam.Text = _controller.getModelPlayer().Name;
 }