Jæva's Word Puzzle
Inhoud
Inleiding
Jæva's Word Puzzle is een puzzel variant waarbij verschillende woord puzzels samenkomen. Het doel is om zoveel mogelijk punten te behalen door Engelse woorden te vormen binnen het puzzelbord. Letters mogen horizontaal, verticaal en diagonaal met elkaar verbonden worden om de woorden te vormen, waarbij elke tegel met een letter maar één keer gebruikt mag worden binnen hetzelfde woord. Wanneer de gevormde reeks letters een woord vormt dat overeenkomt met een woord uit de woordenlijst, dan verdwijnen de letters van het bord en worden de letterwaarden bij het totaal opgeteld. De bovenliggende tegels vallen vervolgens naar beneden, zie onderstaande plaatjes.
Opdracht
De opdracht bestaat uit het schrijven van een AI die Jæva's Word Puzzle kan oplossen. Hiermee wordt een programma bedoeld dat de score probeert te maximaliseren. De opdracht bestaat uit drie delen, waarbij steeds meer regels worden toegevoegd aan het spel en het bord steeds groter wordt.
a). Schrijf een solver die een 6x4 bord kan oplossen. Dit bord bestaat enkel uit letters en gekleurde tegels. Deze tegels kunnen zwart en geel zijn, zoals het plaatje hiernaast laat zien. Deze gekleurde tegels zijn geen punten waard, maar kunnen wel net als de tegels met letters verplaatsen over het bord indien onderliggende tegels verdwijnen. De zwarte tegels kunnen verwijderd worden door een woord te maken van minstens 3 letters lang, waarbij één van deze letters aan de zwarte tegel grenst. Ditzelfde geldt voor de gele tegels, echter verdwijnt niet alleen de gele tegel zelf maar ook alle andere tegels in die rij. Deze borden kunnen jullie gebruiken om de solver te testen. In deze bestanden zijn zwarte tegels aangegeven met de hoofdletter "B" en gele tegels met hoofdletter "Y".
b). Breid de bovenstaande solver uit, zodat ook een 6x6 bord opgelost kan worden. Er zijn ook twee soorten nieuwe tegels bijgekomen. Let op, de locatie van deze tegels staat vast, zie het plaatje hiernaast. Als onderstaande tegels dus verdwijnen, dan vallen de letters uit deze tegels wel omlaag, maar de gekleurde tegels zelf niet. Een rode tegel met daarin de tekst "3W" geeft aan dat een woord dat gevormd wordt door deze tegel, drie keer de woordwaarde waard is. Een groene tegel met daarin de tekst "2L" geeft aan dat de letter in deze tegel twee keer zijn letterwaarde waard is. Deze borden kunnen jullie gebruiken om de solver te testen. De woord- en letterwaarde tegels staan niet specifiek aangegeven in deze bestanden, maar bevinden zich dus altijd op een vaste plaats, zie plaatje hiernaast.
c). Breid de bovenstaande solvers uit, zodat ook een 8x6 bord opgelost kan worden. Sommigen tegels bevatten nu naast een letter ook een getal, zie het plaatje hiernaast. Dit getal geeft aan hoe lang het woord minimaal moet zijn, wanneer de desbetreffende tegel gebruikt wordt. Een tegel waarin het getal 4 staat kan dus niet gebruikt worden in een twee- of drieletterwoord. Let op, deze getallen zitten vast aan de letters en niet aan de tegels. Deze borden kunnen jullie gebruiken om de solver te testen. In deze bestanden staat het getal achter de letter waarbij hij hoort. "R3" betekent dus bijvoorbeeld dat deze letter R enkel in woorden met 3 of meer letters gebruikt kan worden.
Advanced
In het advanced deel moet de solver de strijd aan gaan tegen de tijd. Het 8x6 bord begint half vol en elke 30 seconden komt er een nieuwe rij met tegels bij vanaf de onderkant van het bord. De letters die reeds op het bord liggen schuiven dan allemaal één rij omhoog. Het programma dient te stoppen indien één of meerdere tegels aan de bovenkant buiten het bord raken. De drie keer woordwaarde tegels in de linker en rechter bovenhoek kunnen dus wel nog gebruikt worden. Maximaliseer wederom de score die de solver behaalt! Deze borden kunnen jullie gebruiken om de solver te testen. De bestanden bestaan uit borden met veel rijen, dus je hoeft niet zelf te bepalen welke rij er elke 30 seconden omhoog komt. Let op, de solver heeft enkel kennis van de letters die op dat moment op het bord liggen.
Terug
Terug naar de Hoofdpagina .