Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static rechercherCoupSelonExperiencesIA(ia, historique) {
- /*
- experience est un objet qui ressemble à :
- [
- {
- gagnant: 1,
- historique: [
- [1, 5, 6, 2, 3, 4, 9, 7, 8],
- [2, 4, 1, 9, 7, 5, 3, 6, 8],
- [9, 8, 4, 7, 2, 3, 6, 5, 1]
- ]
- },
- {
- gagnant: 1,
- historique: [
- [1, 5, 6, 2, 3, 4, 9, 7, 8],
- [2, 4, 1, 9, 7, 5, 3, 6, 8],
- [9, 8, 4, 7, 2, 3, 6, 5, 1]
- ]
- },
- {
- gagnant: 1,
- historique: [
- [1, 5, 6, 2, 3, 4, 9, 7, 8],
- [2, 4, 1, 9, 7, 5, 3, 6, 8],
- [9, 8, 4, 7, 2, 3, 6, 5, 1]
- ]
- }
- ];
- */
- // récupérer les parties gagnantes pour le même joueur
- let partiesGagnantesAvecNumeroJoueur = experience.filter(partie => partie.gagnant === ia);
- let partiesQuiCommencentParMemeHistorique = partiesGagnantesAvecNumeroJoueur.filter(partie => {
- let debutPartie = partie.historique.slice(0, historique.length);
- for (let i = 0; i < debutPartie.length; i++) {
- if (debutPartie[i] !== historique[i]) return false; // le début de partie ne correspond pas => on retourne false pour indiquer que la partie ne commence pas pareil
- }
- return true; // le début de partie est exactement le même pour le joueur gagnant => on retourne vrai
- })
- // on a pas trouvé de partie qui commence pareil => on retourne -1
- if (partiesQuiCommencentParMemeHistorique.length === 0) return -1;
- // on a toutes les parties qui commencent pareil et dont le joueur est vainqueur => on prend le prochain coup de la première partie et on renvoie
- return partiesQuiCommencentParMemeHistorique[0].historique[partie.length];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement