1. La classe TaulerW

El tauler del joc està format per un conjunt de caselles ordenades en una zona rectangular, on aniran situant-se les paraules intentades (una sota l’altra, sempre en majúscules). Per tal de representar-lo, es demana que implemeteu la classe TaulerW especificada tot seguit. Deseu la classe al mòdul tauler (fitxer tauler.py).

class tauler.TaulerW(nfils, ncols)

Crea una instància de la classe que representa un tauler amb les dimensions indicades (nombre de files i columnes). Inicialment, el tauler no contindrà cap paraula.

Atributs públics:

num_files

Nombre de files del tauler (int), és a dir, el nombre d’intents màxim permès.

num_columnes

Nombre de columnes del tauler (int), és a dir, la longitud de les paraules.

Mètodes:

afegir_paraula(par)

Afegeix les lletres de la paraula par a la primera fila lliure del tauler. Es compleix que hi ha una fila lliure al tauler i que par té exactament t.num_columnes lletres.

Aquesta classe ha de suportar les operacions següents:

Operació

Resultat

len(t)

Retorna el nombre de paraules jugades.

t[i]

Retorna la paraula (un string) que ocupa la fila i-èssima del tauler, essent la primera fila la d’índex 0. Si la fila i no conté cap paraula, retorna l’string buit.

Es compleix que \(0 \leq i \lt t.num\_files\).

k in t

Retorna un booleà que indica si la lletra k és al tauler.

A l’hora d’implementar la classe, tingueu en compte que caldrà un atribut privat per a desar la informació del contingut del tauler. Es recomana que sigui una llista de les paraules jugades (strings). Per exemple, pel tauler del dibuix, aquesta llista tindrà el valor ['CANTADOR', 'PERDUDES', 'MASSISSA', 'ROSTIDES', 'SORTIDES'].

Nota

En python, l’operador de pertinença a una classe, in, requereix implementar el mètode __contains__() (vegeu la documentació oficial de python).

Disposeu de jocs de prova al fitxer tests-taulerW.txt.