示例#1
0
 public void CardWasClicked(KaartenLib.Kaart k)
 {
     bool humanPlayedFirst = false;
     if (kaartComputer == null)
     {
         humanPlayedFirst = true;
         //Kaart was valid, want is eerste kaart.
         kaartSpeler = k;
         //Haal kaart uit Deck speler
         humanPlayer.KaartenInHand.Remove(k);
         UpdateViews(ViewCommunicationTypes.CARD_WAS_VALID);
         kaartComputer = brain.CounterMove(kaartSpeler);
         UpdateViews(ViewCommunicationTypes.COMPUTER_PLAYED_CARD);
         decideWinnerOfRoundAndMore(humanPlayedFirst);
     }
     else {
         kaartSpeler = k;
         humanPlayer.KaartenInHand.Remove(k);
         UpdateViews(ViewCommunicationTypes.CARD_WAS_VALID);
         decideWinnerOfRoundAndMore(humanPlayedFirst);
     }
 }
示例#2
0
 public KaartenLib.Kaart[] GetArrayOfCardsFromComputer()
 {
     KaartenLib.Kaart[] k = new KaartenLib.Kaart[computerPlayer.KaartenInHand.Count];
     int i = 0;
     foreach (KaartenLib.Kaart c in computerPlayer.KaartenInHand)
     {
         k[i] = c;
         i++;
     }
     return k;
 }
示例#3
0
 private void decideWinnerOfRoundAndMore(bool humanPlayedFirst)
 {
     //Decide the winner
     Deelnemer winner = calc.CalculateWinnerOfRound(humanPlayer, kaartSpeler, computerPlayer, kaartComputer, humanPlayedFirst);
     if (winner.Equals(humanPlayer))
     {
         humanPlayer.AddCardToWinList(kaartSpeler);
         humanPlayer.AddCardToWinList(kaartComputer);
         humanPlayer.AantalBeurtenGewonnen++;
         UpdateViews(ViewCommunicationTypes.PLAYER_WON);
     }
     else
     {
         computerPlayer.AddCardToWinList(kaartSpeler);
         computerPlayer.AddCardToWinList(kaartComputer);
         computerPlayer.AantalBeurtenGewonnen++;
         UpdateViews(ViewCommunicationTypes.COMPUTER_WON);
     }
     kaartSpeler = null;
     kaartComputer = null;
     aantalBeurtenOver--;
     //Beurt is officieel voorbij nu
     if (aantalBeurtenOver == 0)
     {
         UpdateViews(ViewCommunicationTypes.GAME_HAS_ENDED);
         //Bereken winnaar
         Deelnemer winnerGame = calc.CalculateWinnerOfGame(humanPlayer, computerPlayer);
         if (winnerGame.Equals(humanPlayer))
         {
             UpdateViews(ViewCommunicationTypes.PLAYER_WON_GAME);
         }
         else
         {
             UpdateViews(ViewCommunicationTypes.COMPUTER_WON_GAME);
         }
         //Schrijf weg
         int newtotal = calc.GetNewTotalpoints(humanPlayer, computerPlayer);
         humanPlayer.Totalpoints = newtotal;
         conf.AddPlayForPlayer(humanPlayer.Naam, humanPlayer.AantalBeurtenGewonnen, 10 - humanPlayer.AantalBeurtenGewonnen, calc.PointsOnPoints, calc.PointsOnNumberOfCards, humanPlayer.Totalpoints, newtotal);
         conf.SetPlayerAndPoints(humanPlayer.Naam, humanPlayer.Totalpoints);
     }
     else
     {
         if (winner.Equals(humanPlayer))
         {
             UpdateViews(ViewCommunicationTypes.PLAYER_MAKE_MOVE);
         }
         else
         {
             kaartComputer = brain.MakeFirstMove();
             UpdateViews(ViewCommunicationTypes.COMPUTER_PLAYED_CARD);
         }
     }
 }