marco23 (Normal User)
Newbie
Messaggi: 4
Iscritto: 17/11/2008
|
Salve a tutti!
Sto cercando di realizzare il classico gioco dell'impiccato con visual basic.net. Il problema è che non capisco come devo fare, dopo che l'utente ha scelto la lettera, a far dire al programma se la lettera selezionata è corretta e se si posizionarla nella giusta posizione.
Spero di essere stato abbastanza chiaro...Grazie per l'aiuto che mi darete.
Ciao Ciao!
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Dipenda da come hai strutturato l'interfaccia. Hai una sola label o più label, o più textbox? E dove viene memorizzata la parola da indovinare?
|
|
marco23 (Normal User)
Newbie
Messaggi: 4
Iscritto: 17/11/2008
|
Le parole le ho memorizzate in un file di testo.
Mentre per l'interfaccia allego una foto cosi è più chiaro...
|
|
Mte90 (Member)
Guru
Messaggi: 1144
Iscritto: 25/03/2008
|
devi usare le regex per verificare il contenuto delle lettere e casomai disabilitare il bottone e inserire la lettera ottenendo la posizione del carattere
|
|
marco23 (Normal User)
Newbie
Messaggi: 4
Iscritto: 17/11/2008
|
non avendo idea di cosa fossero le regex sono andato a guardarmele e ho scritto questo codice:
Dim regex As String = "[a]"
Dim options As System.Text.RegularExpressions.RegexOptions = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace Or System.Text.RegularExpressions.RegexOptions.Multiline) _
Or System.Text.RegularExpressions.RegexOptions.IgnoreCase)
Dim reg As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(regex, options)
TextBox2.Text = regex
Codice sorgente - presumibilmente Plain Text |
Cosi dovrebbe cercarmi se è presente la lettera a, giusto?
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Io intendevo dove visualizzi la parola sull'interfaccia, comunque... Ti faccio un esempio teorico, senza alcun riferimento al tuo programma, che poi potrai adattare. Non è necessario, né consigliabile, usare le regex, perchè si deve cercare una sola lettera.
Codice sorgente - presumibilmente VB.NET |
Dim ParolaSegreta As String = "Visual Basic" Dim Stringa As String = "------ -----" Dim Lettera As Char = "a" For I As Int16 = 0 To ParolaSegreta.Length - 1 If Char.ToLower(ParolaSegreta(I)) = Lettera Then Stringa(I) = Lettera End If Next
|
Se esegui questo codice, otterrai alla fine che stringa è "----a- -a---". Se lo riesegui con la "i", otterrai "-i--a- -a-i-". E continui finché non hai ottenuto la parola completa.
|
|
marco23 (Normal User)
Newbie
Messaggi: 4
Iscritto: 17/11/2008
|
Ciao! grazie per l'aiuto innanzittutto!
Comunque la parola la visualizzo in una textbox.
Allora io ho provato il codice che mi hai dato Totem ma quando scrivo:
Stringa(I) = lettera mi da errore: La proprieà Chars è ReadOnly.
Va beh ora provo a lavorarci su. Grazie comunque dell'aiuto!
Ciao!
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Scusa non mi ricordavo che Chars è ReadOnly. Puoi sempre usare:
Codice sorgente - presumibilmente Plain Text |
Stringa = Stringa.Insert(I, Lettera).Remove(I + 1, 1)
|
|
|
Gianluca87 (Ex-Member)
Expert
Messaggi: 300
Iscritto: 16/11/2008
|
Ciao,
l'ho fatto anche io...
prova a vedere se ti serve
è scritto in C#
l'ho fatto in un oretta forse c'è del codice inutile in mezzo
magari ti può essere utile
ovviamente manca la funzione che carica le parole...pensavo di implementarla caricandole da un txt e poi pescarne una a random
|
|