Jeux

Jeux

// Ce code crée un jeu de carte de réussite où le joueur doit empiler les cartes par couleur et par ordre croissant // Le code utilise la bibliothèque p5.js pour créer l’interface graphique du jeu // Le code utilise un tableau de cartes avec les valeurs et les symboles correspondants // Le code utilise une fonction pour mélanger le tableau de cartes de manière aléatoire // Le code utilise quatre piles pour stocker les cartes triées par couleur et par ordre croissant // Le code utilise sept colonnes pour stocker les cartes à déplacer // Le code utilise une réserve pour stocker les cartes restantes // Le code utilise une fonction pour afficher les cartes, les piles, les colonnes et la réserve // Le code utilise une fonction pour détecter si le joueur clique sur une carte, une pile, une colonne ou la réserve // Le code utilise une fonction pour vérifier si le joueur peut déplacer une carte ou une suite de cartes d’une colonne à une autre, d’une colonne à une pile, ou de la réserve à une colonne // Le code utilise une fonction pour effectuer le déplacement des cartes si possible // Le code utilise une fonction pour vérifier si le joueur a gagné le jeu ou non // Le tableau de cartes avec les valeurs et les symboles let cartes = [ {valeur: 1, symbole: “♠”, couleur: “noir”}, {valeur: 2, symbole: “♠”, couleur: “noir”}, {valeur: 3, symbole: “♠”, couleur: “noir”}, {valeur: 4, symbole: “♠”, couleur: “noir”}, {valeur: 5, symbole: “♠”, couleur: “noir”}, {valeur: 6, symbole: “♠”, couleur: “noir”}, {valeur: 7, symbole: “♠”, couleur: “noir”}, {valeur: 8, symbole: “♠”, couleur: “noir”}, {valeur: 9, symbole: “♠”, couleur: “noir”}, {valeur: 10, symbole: “♠”, couleur: “noir”}, {valeur: 11, symbole: “♠”, couleur: “noir”}, {valeur: 12, symbole: “♠”, couleur: “noir”}, {valeur: 13, symbole: “♠”, couleur: “noir”}, {valeur: 1, symbole: “♥”, couleur: “rouge”}, {valeur: 2, symbole: “♥”, couleur: “rouge”}, {valeur: 3, symbole: “♥”, couleur: “rouge”}, {valeur: 4, symbole: “♥”, couleur: “rouge”}, {valeur: 5, symbole: “♥”, couleur: “rouge”}, {valeur: 6, symbole: “♥”, couleur: “rouge”}, {valeur: 7, symbole: “♥”, couleur: “rouge”}, {valeur: 8, symbole: “♥”, couleur: “rouge”}, {valeur: 9, symbole: “♥”, couleur: “rouge”}, {valeur: 10, symbole: “♥”, couleur: “rouge”}, {valeur: 11, symbole: “♥”, couleur: “rouge”}, {valeur: 12, symbole: “♥”, couleur: “rouge”}, {valeur: 13, symbole: “♥”, couleur: “rouge”}, {valeur: 1, symbole: “♦”, couleur: “rouge”}, {valeur: 2, symbole: “♦”, couleur: “rouge”}, {valeur: 3, symbole: “♦”, couleur: “rouge”}, {valeur: 4, symbole: “♦”, couleur: “rouge”}, {valeur: 5, symbole: “♦”, couleur: “rouge”}, {valeur: 6, symbole: “♦”, couleur: “rouge”}, {valeur: 7, symbole: “♦”, couleur: “rouge”}, {valeur: 8, symbole: “♦”, couleur: “rouge”}, {valeur: 9, symbole: “♦”, couleur: “rouge”}, {valeur: 10, symbole: “♦”, couleur: “rouge”}, {valeur: 11, symbole: “♦”, couleur: “rouge”}, {valeur: 12, symbole: “♦”, couleur: “rouge”}, {valeur: 13, symbole: “♦”, couleur: “rouge”}, {valeur: 1, symbole: “♣”, couleur: “noir”}, {valeur: 2, symbole: “♣”, couleur: “noir”}, {valeur: 3, symbole: “♣”, couleur: “noir”}, {valeur: 4, symbole: “♣”, couleur: “noir”}, {valeur: 5, symbole: “♣”, couleur: “noir”}, {valeur: 6, symbole: “♣”, couleur: “noir”}, {valeur: 7, symbole: “♣”, couleur: “noir”}, {valeur: 8, symbole: “♣”, couleur: “noir”}, {valeur: 9, symbole: “♣”, couleur: “noir”}, {valeur: 10, symbole: “♣”, couleur: “noir”}, {valeur: 11, symbole: “♣”, couleur: “noir”}, {valeur: 12, symbole: “♣”, couleur: “noir”}, {valeur: 13, symbole: “♣”, couleur: “noir”} ]; // La fonction pour mélanger le tableau de cartes de manière aléatoire function melangerCartes() { // On utilise l’algorithme de Fisher-Yates pour mélanger le tableau // On parcourt le tableau de la fin vers le début for (let i = cartes.length - 1; i > 0; i–) { // On choisit un index aléatoire entre 0 et i let j = Math.floor(Math.random() * (i + 1)); // On échange les éléments aux index i et j let temp = cartes[i]; cartes[i] = cartes[j]; cartes[j] = temp; } } // Les quatre piles pour stocker les cartes triées par couleur et par ordre croissant let piles = [[], [], [], []]; // Les sept colonnes pour stocker les cartes à déplacer let colonnes = [[], [], [], [], [], [], []]; // La réserve pour stocker les cartes restantes let reserve = []; // La fonction pour afficher les cartes, les piles, les colonnes et la réserve function afficherCartes() { // On efface le fond de la fenêtre background(255); // On affiche les quatre piles en haut de la fenêtre for (let i = 0; i < 4; i++) { // On calcule la position x de la pile let x = 100 + i * 150; // On affiche un rectangle vide si la pile est vide if (piles[i].length == 0) { stroke(0); noFill(); rect(x, 50, 100, 150); } else { // On affiche la dernière carte de la pile si elle n’est pas vide let carte = piles[i][piles[i].length - 1]; stroke(0); fill(255); rect(x, 50, 100, 150); textSize(32); fill(carte.couleur); text(carte.valeur + carte.symbole, x + 25, 100); } } // On affiche les sept colonnes au milieu de la fenêtre for (let i = 0; i < 7; i++) { // On calcule la position x de la colonne let x = 50 + i * 100; // On affiche un rectangle vide si la colonne est vide if (colonnes[i].length == 0) { stroke(0); noFill(); rect(x, 250, 100, 150); } else { // On affiche les cartes de la colonne si elle n’est pas vide for (let j = 0; j < colonnes[i].length