• [^] # Re: Autre approche : grep

    Posté par (site web personnel, Mastodon) . En réponse au journal sur le fonctionnement du jeu Wordle. Évalué à 2. Dernière modification le 20 janvier 2022 à 21:07.

    Bon, votre serviteur a mis cette approche en script → https://github.com/gilcot/wsa
    Par contre, ce n'est pas automatique comme la solution de Chimrod : le but était juste de pouvoir faire les différentes étapes de la ligne de commande avec le même script et sans trop s'y connaître en grepage ni créer des fichiers partout (ni faire exploser la mémoire : les listes de mots sont passées par pipe mais pas stockées dans une variable). Du coup, le script est stateless et il faut rajouter soi-même les les lettres déjà interdites aux nouvelles invalides.

    D'habitude le script s'en tire en 4 coups. J'ai cependant pu obtenir juste 3 coups, une fois, dans ma dizaine d'essais. De même, pour le dernier, que je retranscrit ici, il a fallu 5 coups. Dans ces deux cas, et pour la moitié de mes tests, j'ai pris la première proposition de la liste.

    # lancement non interactif (espace pour les arguments)
    # juste histoire d'avoir une liste de selection initiale
    $ ./wsa.sh -d ' ' ' ' ' '
    [INFO] seeking: ..... [esiarntolcdugpmkhbyfvw] [^zxqj]
    [INFO] using: 235886 /usr/share/dict/words
    [INFO] scenario: nothing yet
    [INFO] max results limit count: 15 Random
    theow
    drusy
    Hokan
    wield
    mungy
    samba
    numda
    kusha
    pried
    aweto
    Vince
    darky
    belve
    Milan
    sulka
    # relancer avec les indications obtenues pour restreindre
    $ ./wsa.sh -d '...O.' 'T' 'HEW'
    [INFO] seeking: ...o. [^t].... [t] [^hew]
    [INFO] using: 235886 /usr/share/dict/words
    [INFO] scenario: green yellow gray
    [INFO] max results limit count: 15 Random
    stoop
    smoot
    motor
    stook
    sotol
    unpot
    fagot
    spoot
    scoot
    Anton
    robot
    gigot
    idiot
    untop
    Ortol
    # et rebelotte, et je note une correction a faire
    $ ./wsa.sh -d '...O.' 'TTO..' 'SPHEW'
    [INFO] seeking: ...o. [^t][^t][^o].. [tto] [^sphew]
    [INFO] using: 235886 /usr/share/dict/words
    [INFO] scenario: green yellow gray
    [INFO] max results limit count: 15 Random
    codon
    adion
    igloo
    Conoy
    Major
    Modoc
    manoc
    cocoa
    rigol
    gator
    ardor
    ninon
    cabot
    baron
    cabob
    # rebelotte, c'est quasiment fini
    $ ./wsa.sh -d '.O.O.' 'T.O..' 'CDNSPHEW'
    [INFO] seeking: .o.o. [^t].[^o].. [to] [^cdnsphew]
    [INFO] using: 235886 /usr/share/dict/words
    [INFO] scenario: green yellow gray
    [INFO] max results limit count: 15 Random
    motor
    fogou
    Koroa
    bokom
    zokor
    logoi
    rotor
    robot
    # enfin, pour confirmer le mot que je pense
    $ ./wsa.sh -d '.O.O.' '..T.R' 'MCDNSPHEW'
    [INFO] seeking: .o.o. ..[^t].[^r] [tr] [^mcdnsphew]
    [INFO] using: 235886 /usr/share/dict/words
    [INFO] scenario: green yellow gray
    [INFO] max results limit count: 15 Random
    robot
    Koroa

    C'est normal pour les majuscules : le dico utilisé a des noms/titres et ce test est parmi la moitié faite sans un dictionnaire épuré...

    "It is seldom that liberty of any kind is lost all at once." ― David Hume