Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: wordle  (gelezen 1389 keer)

Offline peer

  • Lid
wordle
« Gepost op: 2022/02/03, 10:18:10 »
Iedereen heeft wel gehoord van het woordspelletje wordle. Iemand heeft hiervoor een script gemaakt.
zie: https://www.theregister.com/2022/02/02/bash_wordle/

Dit script gebruikt een engelstalige woordenlijst op de computer. Ik heb het script aangepast zodat het met een nederlandse woordenlijst werkt.

Deze woordenlijst moet je (waarschijnlijk) eerst even installeren met 'sudo apt install wdutch'

Het script moet je downloaden eerst even uitpakken en uitvoerbaar maken dan daarna kun je het in de terminal uitvoeren.



Offline rico70

  • Lid
Re: wordle
« Reactie #1 Gepost op: 2022/02/03, 10:32:01 »
Leuk, maar er is al een poosje woordle.nl
De nederlandse schrijver heeft ook een versie met 6 letters gemaakt
woordle.nl/woordle6
« Laatst bewerkt op: 2022/02/03, 10:37:44 door rico70 »

Re: wordle
« Reactie #2 Gepost op: 2022/02/03, 13:47:22 »
Leuk idee peer, maar ik ben eerst even wezen kijken bij woordle.nl. Had de app al op m'n telefoon gezet, maar die was Engelstalig. Op woordle.nl heb ik voor het eerst dit spelletje gespeeld en zowaar het woord geraden in vijf pogingen. Wel gebruik gemaakt van de site https://www.woordenraden.nl/, een beetje valsspelen op z'n tijd moet kunnen toch? ;)

Re: wordle
« Reactie #3 Gepost op: 2022/02/04, 16:00:27 »
Hallo peer,

Ik heb het script vertaald naar het NL (was heeel veel werk!) en een aanwijzing over de gele en groene letterkleuren bovenaan geplaatst. Dat speelt wat makkelijker, zeker als je net met wordle begint.

PS. Verslavend, dat spelletje! ;)


Re: wordle
« Reactie #4 Gepost op: 2022/02/05, 08:31:10 »
Toevoeging: uitleg witte letterkleur.

Offline peer

  • Lid
Re: wordle
« Reactie #5 Gepost op: 2022/02/05, 09:49:08 »
leuk!!!

Re: wordle
« Reactie #6 Gepost op: 2022/02/05, 11:25:51 »
Nog een toevoeging die vooral gewaardeerd zal worden door oude, verstofte en versleten geesten (en mogelijk ook andere):
start het script met een 1 erachter om vast de eerste letter te weten te komen;
start het script met een 2 erachter om de eerste en de laatste letter voorgeschoteld te krijgen.

Dus
$ ./wordle-nl_v4.sh 1

Offline peer

  • Lid
Re: wordle
« Reactie #7 Gepost op: 2022/02/08, 10:51:41 »
ik heb een python programmaatje gemaakt voor 'wordle' om weer wat te oefenen met het programmeren in python. In het verleden heb ik in programma's in java gemaakt. Ik merk dat ik in java altijd als vanzelf probeer om zo netjes te programmeren. Maar bij python ben ik veel meer aan het frommelen. Bijgaand programmaatje is dus net zo niet zo heel netjes geprogrammeerd. Ik heb gekozen voor een vaste woordlengte van 5 letters. De check of een ingevoerd woord in de woordenlijst staat heb ik weggelaten.

Naast het programmeren is het lastig om een goede woordenlijst te vinden. Op de pc heb ik een woordenlijst gevonden (wdutch, zie eerste bericht) maar daar zitten veel onbruikbare woorden in. Na wat zoekwerk op het internet heb ik een site gevonden waar ik een (denk ik) bruikbare lijst kon downloaden. Deze lijst heb ik gefilterd op woorden van vijf letters: http://gwicks.net/dictionaries.htm

Bi mij werkt het programmaatje. Ik heb niet goed op fouten gecontroleerd dus het kan zijn dat er nog foutjes inzitten. Grafisch ziet het er niet uit maar dat vind ik niet zo erg.
 
« Laatst bewerkt op: 2022/02/08, 11:04:51 door peer »

Re: wordle
« Reactie #8 Gepost op: 2022/02/08, 11:03:31 »
Hallo, ik ben weinig tot niet bekend met Python maar het volgende gaat alvast mis. Moet ik het anders starten misschien?

paul@graveyron:~/Bureaublad$ python3 wordle.py
Traceback (most recent call last):
  File "wordle.py", line 35, in <module>
    os.chdir(os.path.dirname(__file__))
FileNotFoundError: [Errno 2] No such file or directory: ''


Offline peer

  • Lid
Re: wordle
« Reactie #9 Gepost op: 2022/02/08, 11:12:01 »
ik start het hier gewoon met "./wordle.py". Zojuist het ik het geprobeerd met de opdracht "python3 wordle.py". In beide gevallen werkt het bij mij gewoon.

Mijn systeem is debian 11. Wellicht wordt python anders geïnstalleerd op ubuntu (environment) of ontbreken er modules.

De regel "os.chdir(os.path.dirname(__file__))" gebruik ik om de directory als werkdirectory in te stellen zodat de woordenlijst gevonden wordt. Er wordt gebruik gemaakt van de module 'os'.

Wellicht kan één van de python specialisten op het forum hier iets zinnigs over zeggen.

Re: wordle
« Reactie #10 Gepost op: 2022/02/08, 11:30:14 »
Naast het programmeren is het lastig om een goede woordenlijst te vinden. Op de pc heb ik een woordenlijst gevonden (wdutch, zie eerste bericht) maar daar zitten veel onbruikbare woorden in. Na wat zoekwerk op het internet heb ik een site gevonden waar ik een (denk ik) bruikbare lijst kon downloaden. Deze lijst heb ik gefilterd op woorden van vijf letters: http://gwicks.net/dictionaries.htm

Mee eens dat wdutch nogal wat 'rare' woorden bevat, zoals 'Godfried Bomans' (volgens mij zijn dat twee woorden). Verder ook nogal exotisch. Van baboe (Indonesische kinderoppas) had ik nog nooit gehoord, van Oeren ook niet (een stad in de Russische oblast Nizjni Novgorod).

Maar jouw lijst bevat ook woorden die niet in het Groene Boekje voorkomen, bijvoorbeeld 'haink' en 'gijle'. Dat laatste woord komt wel weer voor in de Etymologiebank, het betekent schuimen of gisten.

Ik heb ook nog een scriptje gemaakt dat in wdutch vijfletterwoorden zoekt die met een bepaalde letter beginnen en eindigen, tot luiheid ende vermaak. Als je mijn bovenstaande script wordle-nl_v4.sh start met het argument '2', dan zegt dat ding alvast met welke letter het woord begint en eindigt. Draai vervolgens het script vijf.sh met de eerste en laatste letter als argument, bv. ./vijf.sh a n, en je krijgt alle mogelijkheden voor je neus!

Re: wordle
« Reactie #11 Gepost op: 2022/02/08, 11:51:46 »
Ha, ./wordle.py werkt inderdaad. En ik heb meteen het woord geraden ook nog !

« Laatst bewerkt op: 2022/02/08, 11:55:45 door Paul Matthijsse »

Re: wordle
« Reactie #12 Gepost op: 2022/03/07, 09:49:36 »
Hallo, ik heb een nieuwe versie van wordle gemaakt, genaamd wrdl456.sh.

Toegevoegd: start het script met argument 4 om woorden van vier letters te raden, idem voor 5 en 6.

Gebruik als tweede argument niets of 1 of 2 of 3. Dat staat voor geen hint, geef eerste letter, geef eerste en laatste letter en, alleen als het eerste argument een 6 is, geef eerste, tweede en laatste letter. Het aantal raadbeurten neemt hierdoor af met respectievelijk 0, 1, 2 of 3.

Als eerste argument een h is: toon helptekst.

Pak wrdl456.zip uit en zorg ervoor dat de woordenlijst nl_456wrd in dezelfde map staat als het script wrdl456.sh. Maak het script uitvoerbaar. Typ In een terminal:
chmod +x wrdl456.sh
Of in een bestandsverkenner: rechtsklik op het script, dan Eigenschappen, tabje Rechten, vink aan 'Sta toe dat dit bestand wordt uitgevoerd als een programma'.

Maak een alias om te voorkomen dat je steeds de hele scriptnaam moet intypen. Als het script en de woordenlijst bijvoorbeeld zijn opgeslagen in /home/<user>/wordle/, doe dan het volgende.
Open het verborgen bestand ~/.bashrc (staat in je thuismap), ga naar de sectie met aliassen en voeg de volgende regel toe:
alias wrdl='cd ~/wordle && ./wrdl456.sh'. Bewaar .bashrc.
Open nu een terminal en typ wrdl om het programma zonder opties te starten. Typ wrdl h om de helptekst te lezen. Typ wrdl 4 2 om een vierletterwoord te raden en de eerste en laatste letter te weten te komen. Etc.

Waarschuwing: verslavend spelletje! :)





« Laatst bewerkt op: 2022/03/07, 10:50:37 door Paul Matthijsse »

Offline Bloom

  • Lid
Re: wordle
« Reactie #13 Gepost op: 2022/03/07, 10:19:47 »
Bij mij werkt dat niet. Ik had het in ~/bin/worldle/ gezet en dan vindt hij het nl_wrdl456 tekstbestand niet.
Ik stel voor in de broncode net voor de case dit te zetten:
NLwrd="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/nl_456wrd"
En overal waar nl_456wrd staat gebruik je nu "$NLwrd". Nu vindt hij het tekstbestand altijd, op voorwaarde dat het in dezelfde directory staat als het script. Dit werkt overigens niet als het script gestart wordt via een ssh-sessie op een ander systeem, dat wordt dan iets ingewikkelder. Maar het werkt wel met het script opgeslagen op het lokale systeem, via een netwerkshare of via een symbolic link.

Re: wordle
« Reactie #14 Gepost op: 2022/03/07, 14:23:21 »
Bij mij werkt dat niet. Ik had het in ~/bin/worldle/ gezet en dan vindt hij het nl_wrdl456 tekstbestand niet.
Vreemd, ik heb een mapje bin aangemaakt in home, daar de zip uitgepakt en wrdl456.sh uitvoerbaar gemaakt en dan werkt het gewoon. Woordenlijst heet overigens nl_456wrd.

Ik stel voor in de broncode net voor de case dit te zetten:
NLwrd="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/nl_456wrd"
En overal waar nl_456wrd staat gebruik je nu "$NLwrd".
Sorry, ik heb m'n script grondig getest en het werkt voor mij. Ik heb daarom geen zin om een nieuwe variabele te introduceren die mogelijkerwijs elders weer problemen gaat opleveren. Maar voel je vrij het script op jouw pc aan te passen.

Nu vindt hij het tekstbestand altijd, op voorwaarde dat het in dezelfde directory staat als het script.
Die voorwaarde had ik genoemd.

Dit werkt overigens niet als het script gestart wordt via een ssh-sessie op een ander systeem, dat wordt dan iets ingewikkelder. Maar het werkt wel met het script opgeslagen op het lokale systeem, via een netwerkshare of via een symbolic link.

Dit script is niet ontworpen om wereldwijd op andere machines gebruikt te worden, of over een netwerk. Gewoon beide bestandjes ergens lokaal uitpakken, het script uitvoerbaar maken en wordle'en maar (of is het wordle'n?) ! :)