Kan jij al mijn opgeschudde woorden raden? Maak samen met mij dit spel en ontdek het zelf!

Oefening 5: Anagrammen

In deze oefening gaan we de vorige oefening een beetje uitbreiden. Unix zal een woord zeggen waarvan de letters allemaal door elkaar staan. Help jij Ruby om te raden wat Unix precies zegt?

Het eindresultaat

Project

Voor deze oefening kan je het project van de vorige oefening gebruiken. Vul dit project nu aan en zorg ervoor dat volgende dingen allemaal mogelijk zijn:

  • Een willekeurig woord wordt gekozen uit een woordenlijst.
  • Het woord wordt op een willekeurige manier door elkaar geschudt.
  • Er wordt gevraagt naar een oplossing en er wordt gecontroleerd of het antwoord correct is.

Stappenplan

Stap 1: Maak een woordenlijst

Maak een woordenlijst met jouw favoriete woorden erin. Wij kozen voor allemaal vruchten. Je kan hiervoor een eigen blokje maken.

Stap 2: Kies een willekeurig woord

Nadat Ruby klaar is met zijn inleiding, zal een signaal gestuurd worden naar Unix om een woord te kiezen. Zorg ervoor dat Unix een willekeurig woord kiest uit de woordenlijst. Het is heel erg belangrijk om dit woord op te slaan in een variabele. We gaan dit woord later nog nodig hebben om te controleren of het antwoord correct is.

Stap 3: Scramble het woord

Als Unix een woord heeft gekozen, moet dit woord door elkaar geschudt worden. Maak dus een eigen blokje dat dit doet voor jou.

De code om een woord door elkaar te schudden heb je al gemaakt in de vorige oefening. Dit is wat we deden om een woord te scrambelen:

  • We kiezen een willekeurige letter van het woord
  • We voegde deze letter toe aan een tussenwoord
  • We verwijderede die letter van het oorspronkelijke woord.

Dat verwijderen van die letter deden we om ervoor te zorgen dat we die letter niet twee keer zouden kiezen. Maar wat gebeurt er als je steeds letters verwijdert van jouw oorspronkelijk woord? Inderdaad, het woord wordt leeg. Het heeft geen letters meer over!

In de vorige oefening was dat niet zo een probleem, maar nu wel. Hoe moeten wij anders controleren of het antwoord correct is, als ons oorspronkelijk woord geen letters meer heeft? Wat we dus moeten doen is een nieuwe variabele maken en in dit blokje een kopie maken van het oorspronkelijke woord. Dit doe je dan als volgt:

set [kopie woord] to (oorspronkelijk woord)

Je kan de namen van de variabelen natuurlijk zelf wel aanpassen. Het is belangrijk dat je vanaf dan letters verwijdert van de kopie en niet van het oorspronkelijke woord.

Stap 4: Vraag en antwoord

Zorg ervoor dat Ruby vraagt of jij het woord kan ontcijferen. Wanneer je het antwoord hebt ontvangen doe je het volgende:

  • Als het antwoord correct is dan feliciteer je de speler
  • Als het antwoord fout is, geef je de speler een nieuwe kans en vraag je het opnieuw
  • Dit blijf je herhalen tot het correcte antwoord is gegeven.
Stap 5: Stop het spel

Vergeet op het einde van het spel zeker niet alles te stoppen. Welk blokje kan je hiervoor gebruiken?

Evaluatie

Tijd om alles nog eens te testen om zeker te zijn dat alles goed werkt.

  • Wordt een willekeurig woord gekozen uit een woordenlijst?
  • Wordt het woord op een willekeurige manier door elkaar geschudt?
  • Wordt er gevraagt naar een oplossing ?
  • Wordt er gecontroleerd of het antwoord correct is?
  • Wordt de speler gefeliciteerd wanneer deze het antwoord correct heeft gegeven?
  • Krijgt de speler een nieuwe kans om het woord te raden wanneer die een fout antwoord heeft gegeven?

Oplossing

De oplossing vind je hier!

file_downloadDownload

cloudScratch-Studio



Wat is me dat toch allemaal met Unix. Hopelijk wordt hij snel beter. Tijd voor de volgende oefening! Simon wacht al op ons.