/// <summary> /// Joue la carte juste au dessus de celle du joueur /// S'il ne possède pas la carte au dessus, joue la meme si la valeur absolu de la carteen jeu est > 4 /// Sinon il joue sa plus faible carte /// </summary> /// <param name="P1"> Le joueur </param> /// <param name="Pot"> La carte en jeu </param> /// <returns> La carte jouée </returns> public Carte playChuck(Carte P1, Carte Pot) { foreach (Carte C in this.getCartes()) { if (C.getValue() == P1.getValue() + 1) { this.removeCarte(C); this.setLastCardPlayed(C); return(C); } } if (Math.Abs(Pot.getValue()) > 4) { foreach (Carte C in this.getCartes()) { if (C.getValue() == P1.getValue()) { this.removeCarte(C); this.setLastCardPlayed(C); return(C); } } } Carte c = this.getCartes()[0]; return(playCard(c)); }
/// <summary> /// Ajoute le score au gagnant du tour /// </summary> /// <param name="turnWinner"> Gagnant du tour</param> public void addScore(Player turnWinner) { if (turnWinner != null) { for (int i = 0; i < players.Count(); i++) { if (turnWinner.Equals(players[i])) //retrouve le gagnant dans la liste de joueur { players[i].setScore(currentCarte.getValue()); //Ajoute la valeur de la carte remporté a son score plateau.displayTextLbWinner(players[i].getNom() + " prend la carte,\nil a maintenant " + players[i].getScore() + " points"); //Affiche en texte le gagnant et son nouveau score plateau.majDisplayScore(); //MaJ des scores des joueurs plateau.highLightPlayer(players.Count() - i); //Met en avant le gagnant de la main } } } else { plateau.highLightPlayer(6); plateau.displayTextLbWinner("Aucun joueur ne prend cette carte,\nil y a surement égalité."); } if (sabot.Count == 0) //Signifie que la partie est fini { Player playWinner = getWinner(); //Trouve le gagnant de la partie plateau.displayMessage("La partie est fini, le joueur " + playWinner.getNom() + " remporte la partie avec " + playWinner.getScore().ToString() + " points. Bravo à lui"); //Affiche dans un pop-up la fin de la partie et son vainqueur Application.Restart(); //Relance le menu une fois la partie fini } }
/// <summary> /// Joue une carte en fonction de la valeur la carte en jeu /// </summary> /// <param name="currentCarte"> Carte en jeu </param> /// <param name="cartPlayed"> Tableau des cartes déjà jouées par les joueurs </param> /// <param name="nbJoueur"> Nombre de joueur dans la partie </param> /// <returns> La carte à jouée </returns> public Carte playEasy(Carte currentCarte, int[] cartPlayed, int nbJoueur) { switch (currentCarte.getValue()) { //Pour une carte de -2 à 2, on joue les cartes de 9 à 15 case -2: case -1: case 1: case 2: return(playCardInRank(9, 15, cartPlayed, nbJoueur)); //Pour une carte de -4, -3 ou 3, 4, on joue les cartes de 9 à 13 case -4: case -3: case 3: case 4: return(playCardInRank(7, 13, cartPlayed, nbJoueur)); //Pour une carte de -5 ou 5 à 7, on joue les cartes de 4 à 9 case -5: case 5: case 6: case 7: return(playCardInRank(3, 7, cartPlayed, nbJoueur)); //Pour une carte de 8 à 10, on joue les cartes de 1 à 4 case 8: case 9: case 10: return(playCardInRank(1, 4, cartPlayed, nbJoueur)); } return(null); }