L'interfaccia si compone di un campo password in cui inserire la parola da cercare, un campo testo in cui inserire la lettera, un campo testo in cui appare l'andamento del gioco (lettere indovinate e asterischi) e un campo testo che memorizza gli errori.
Parola da indovinare
Lettera Proposta
Soluzione Parziale
Errori
Premendo il pulsante start, tramite l'evento OnClick attiviamo la funzione iniziogioco()
che pone a zero il campo errori e maschera la soluzione parziale. Per compiere quest'ultima operazione, si utilizzano le funzioni string
e len
: string genera un numero di asterischi uguale alla lunghezza (len
) della parola da indovinare.
Alla pressione del pulsante prova
, si cerca la lettera proposta tra le lettere della parola; nel caso si trovi, essa viene sostituita. Per rendere il gioco completo, viene visualizzato un messaggio nel caso la soluzione non contenga più asterischi.
<html> <head><title>Esercizio 3</title></head> <body> <script language="vbscript"> <!-- sub iniziogioco() errori.value = 0 Soluzione.value= string(len(parola.value),"*") end sub sub prova() sol = "" ' valori iniziali err = 1 for x=1 to len(parola.value) carattere = mid(parola.value,x,1) if carattere=lettera.value then sol = sol & lettera.value err = 0 else sol=sol & mid(soluzione.value,x,1) end if next errori.value = cint(errori.value) + err Soluzione.value = sol lettera.value = "" lettera.focus() if instr(1,Soluzione.value,"*") = 0 then MsgBox "Hai Vinto" end if end sub //--> </script> Parola da indovinare <input type="password" name="parola"/> <input type="button" value="Start" onclick="iniziogioco()"/><br /> Lettera Proposta <input type="text" name="lettera" size="1" maxlength="1"/> <input type="button" name="prova" value="Prova" onclick="prova()"/><br/> Soluzione Parziale <input type="text" name="Soluzione"/><br/> Errori <input type="text" name="errori" size="3"/> </body> </html>
Il tutto si basa sulle funzioni InStr
, che restituisce la posizione di un'occorrenza all'interno di una parola, e Mid
, che estrae una sottostringa da una frase.