-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
118 lines (100 loc) · 2.88 KB
/
script.js
1
// Liste des couleurs validesconst validColoursList = [ 'blue', 'red', 'pink', 'yellow', 'green', 'black', 'white', 'orange', 'purple',];// LE CODE À DEVINERconst secretCode = [ 'blue', 'blue', 'yellow', 'green'];const givenCode = [ 'blue', 'red', 'yellow', 'green',];const compareCode = [ 'blue', 'blue', 'yellow', 'green',];const testCode1 = [ 'blue', 'coucou', '123', 123,]const testCode2 = [ 'blue', 'coucou', '123', 123, 'yellow',]// Ajouter la possibilité de choisir dans les couleurs valides le code secret// À la fin l’utilisateur, va choisir 4 couleurs (boutons) et je vais stocker la valeur dans un tableau et ce tableau sera envoyé dans mes fonctions...// On vérifie si les valeurs du tableau sont au format string et qu'il n'y a que 4 couleursconst checkCode = (givenCode) => { console.log(givenCode); // 1. On vérifie la longueur du tableau elle ne doit pas dépasser 4 if (givenCode.length > 4) { console.log(`Le tableau dépasse les 4 couleurs. Veuillez choisir que 4 couleurs.`) return false } // 2.On vérifie que chaque valeur du tableau sont au format string for (const color of givenCode) { if (typeof color === "string") { // appelle un fonction qui va véréfier dans le tableau des couleurs valides checkWithValidColor(color); } else { console.log(`⚠️ Error! la couleur est de type : ${typeof color}`); return false } } // 3. Ici on vérifie si l'utilisateur a trouvé le code secret codeWin(givenCode,secretCode);}const checkWithValidColor = (colorValue) => { // console.log(value); if (validColoursList.includes(colorValue)) { console.log(`✅ La couleur est valide : ${colorValue}`) } else { console.log(`❌ Ce n'est pas une couleur valide ! : ${colorValue}`); }}const codeWin = (chosenCode, guessCode) => { // Vérifie la longueur des tableaux if (chosenCode.length !== guessCode.length) { console.log('Les tableau n\'ont pas la même longueur, soit 4 couleurs'); } else { comparingTables(chosenCode, guessCode); }}// Il existe apparemment une méthode every()const comparingTables = (chosenCodeArray, secretCodeArray) => { console.log(chosenCodeArray); console.log(secretCodeArray); for (let i = 0; i < chosenCodeArray.length; i++) { if (chosenCodeArray[i] !== secretCodeArray[i]) { return false // Le return permet d'arrêter la fonction car les tableaux ne son pas identiques } } console.log('Les tableaux sont identiques ! Vous avez gagné ! 🏆');}checkCode(givenCode);console.log('======');checkCode(testCode1);console.log('======');checkCode(testCode2);console.log('======');checkCode(compareCode)