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); } }
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; }
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); } } }