Facciamo così: intanto provo a spiegare, poi mi dici.
Al primo avvio (assoluto) legge i vari file txt nelle relative ArrayList (vanno bene le nostre List) e imposta il livello
di difficoltà a 1, minimo, ovvero parole tra 3 e 5 lettere.
---
Ad ogni nuovo gioco, creare altre 5 arrayList (List), per 3,4,5,6,7 lettere;
a seconda del livello di difficoltà, randomizza un numero indice tramite il quale preleva una parola
(ChoosenWord) dalla relativa List (caricata da file): livello 1: Dic5L, livello 2: Dic6L, livello 3: Dic7L
imposta una variabile max alla lunghezza del file con tutte le lettere (DicAll) che gli servirà per la randomizzazione
crea un arrayList (sempre List) per contenere tutte le parole possibili: PossibleWords = New ArrayList
lstCorrectWords è la "listview" che conterrà le parole trovate dall'utente ma anche tutte le altre quando il tempo sarà scaduto.
cicla sull'array del vocabolario completo:
For i = 0 To DicAll.Count - 1
salva il valore della parola randomizzata prima: ChoosenWordBackup = ChoosenWord (Choosen = scelta)
apre un ciclo (J) per la lunghezza della parola corrente del dizionario completo
prende le lettere della parola corrente del dizionario completo e ne cerca la posizione
nella parola di backup della parola randomizzata, che all'inizio è uguale a quella randomizzata
se la pos = 0 (lettera non contenuta) imposta una variabile boolean Okay a False ed esce dal ciclo per passare alla successiva parola
del dizionario completo
altrimenti, se le lettera è compresa nella parola di backup, la toglie (dalla parola di backup)
alla fine del ciclo sulla parola del dizionario completo, se la variabile booleana Okay è True
(ovvero se tutte le lettere della parola sono presenti in quella randomizzata)
aggiunge la parola a quelle possibili!
Tutto qua (il resto sono indicazioni all'utente e calcoli di punteggi)
[CORREZIONE: non al primo avvio assoluto, al primo avvio]