Shana, je pense que le meilleur moyen est de calculer tout les "chemins" possibles du personnage de l'IA, et d'attribuer un score à chaque chemin que tu nomme "weight", le poids du chemin quoi.
Par exemple avec ton jeu de cartes, tu as disons un 'as' un 'joker' et une 'dame', dans tes règles tu sais que jouer une 'dame' après un 'as' est un combo qui permet de gagner des points dans la partie en cours, cependant ton IA sait que plus elle va le jouer tard plus le joueur en face aura de possibilités de gagner avant.
Ainsi tu vas calculer plusieurs chemin qui sont les différentes combinaisons de cartes, ne prenons que ceux qui nous intéresse et servent à l'exemple :
joker, as, dame
dame, as, joker
as, dame, joker
Tu vas attribuer ton poids, par exemple si le combo est dans la suite, tu ajoute 10 au score du chemin, mais tu enlève 1 pour chaque carte avant le combo, voici les poids de ces chemins :
joker, as, dame = 9
dame, as, joker = 0
as, dame, joker = 10
Tu connais ici le chemin le plus avantageux, tu demande donc à ton IA de jouer les cartes dans cet ordre.
Tu peux bien sûr rendre le truc plus complexe, par exemple ajouter d'autres combo et donner des poids plus ou moins importants à chaque combo selon l'effet qu'il à sur la partie.
Bref tu peux décliner ce principe sous pleins de formes, mon frère l'utilisait pour trouver le meilleur chemin à prendre avec son bot sur Diablo III, très efficace 