CoddityTeam / movaicode

Concours mensuel du Pire Développeur de France
123 stars 10 forks source link

Grasvascript #201

Open lebesnec opened 2 years ago

lebesnec commented 2 years ago

Bonjour je m'appelle Jean-Kevin j'ai 25 ans et je suis architecte en ESN. Voici mon dernier projet en javascript.

var choisi_une_recette_aleatoire_de_mardi_gras = function(les_specialites_regionales_de_mardi_gras, affichage, positionResultat) {
    const random =  positionResultat ?? Math.floor(Math.random() * (les_specialites_regionales_de_mardi_gras.length - 0 + 1) + 0);
    var longeur = '1';
    pos = 1;
    let X;

    // calcul de la longeur du  tableau
    for (longeur = '0'; +longeur < les_specialites_regionales_de_mardi_gras.length; +longeur+++''/** TODO utiliser un int plutot qu'une string ? */) {
        longeur = longeur + 1;        
    }
    alert(longeur);// astuce pour déboguer, bien pratique !

    // je comprend pas pourqoi les gens commence leur tableau à 0 c'est tellement plus simple à comprendre en commençant à 1
    for (let X = 1; X <= longeur; X++) {
        pos = X;
        val = '';
        // recupere la valeur correspodnant à l'index
        for (X2 = 1; X2 <= longeur; X2++) {
               if (pos==X2)      {
                   // dieu est mort et nous l'avons tué
val = pos== 1 ? "gaufres" : pos==2 ? "croustillons du ch'nord": pos==3 ? "bugnes": pos==4 ? "ganses": pos==5 ? "pets de nonne": pos==6 ? "roussettes": pos==7 ? "merveilles": pos==8 ? "crouchepettes": pos==9 ? "bougnettes": pos==10 ? "beugnot": pos==11 ? "bottereaux": pos==12 ? "oreillettes" : 'ERREUR';
               }
        }

        if (positionResultat) {
            // j'ai découvert les arrow function la semaine dernière et c'est quand meme bien pratique je trouve
            affichage((()=>{if(((a)=>a)(pos)==((a)=>a)(random))return((result)=>{return result??result?result:result|result})(val);})());
        } else {
            // on a trouvé un résultat ! On rapelle récursivement la fonction pour le récupérer et l'afficher !
            pos == random ? choisi_une_recette_aleatoire_de_mardi_gras(les_specialites_regionales_de_mardi_gras, affichage, pos) : 'ne rien faire';
        }
    }
}

var valeur = [ "gaufres", "croustillons du ch'nord", "bugnes", "ganses", "pets de nonne", "roussettes", "merveilles", "crouchepettes", "bougnettes", "beugnot", "bottereaux", "oreillettes" ];

// on remplit le tableau pour passer en parametre :
let parametre = [1];
for (let index = 0; index < valeur.length; index++) {
    const element = valeur[index];
    for (let index2 = 1; index2 <= parametre.length; index2++) {
       if (index2 === index) {
        parametre = [...parametre,valeur[index]];
       }
    }
}
// fix bug #49873
parametre[0] = "gaufres";

// pour etre sur que parametre soit pas vide
parametre=parametre??parametre?parametre:parametre|parametre;
choisi_une_recette_aleatoire_de_mardi_gras(parametre, (result) => console.log(result));
lebesnec commented 2 years ago

j'avais pensé a rajouter un bus de données par dessus "pour bien découpler l'affichage de la logique", mais j'ai pas eu le courage lol

chris-codd commented 2 years ago

Bonjour Jean-Kévin

louismarslen commented 2 years ago

Salut salut,

Malheureusement tu n'as pas gagné l'édition 9 de MOVAICODE (c'est S4lem qui gagne : #186) 😭 Toutefois nous t'invitons fortement à participer à l'édition 10 qui vient d'être lancée : le README est ici

Merci pour ta prestation 🤘