Witam,
mam problem, musze zrobic kolo fortuny. nie mam jezscze kodu jako tako ale zastanawia mnie jak zrobic kodowanie hasla do odgadniecia np w postaci gwiazdek. i po wpisaniu litery zeby z gwiazdki pokazywala sie ta litera.. jakies pomysly?
Witam,
mam problem, musze zrobic kolo fortuny. nie mam jezscze kodu jako tako ale zastanawia mnie jak zrobic kodowanie hasla do odgadniecia np w postaci gwiazdek. i po wpisaniu litery zeby z gwiazdki pokazywala sie ta litera.. jakies pomysly?
Najpierw dobrze jest się zastanowić czy będzie to aplikacja konsolowa, okienkowa, WWW czy jeszcze jakaś inna.
zapomnialem napisac, okienkowa. z consolowa wiekszego problemu by nie bylo..chyba.dawno juz nie pisalem w c#.
Masz string przechowujący hasło do zgadnięcia. W kontrolce TextBox (czy dowolnej innej, ktorej użyjesz do wyświetlenia hasła) przechowujesz napis "**********" z ilością gwiazdek taka samą jak ilość hasła.
Ktoś podaje literkę np. 'A'. Iterujesz przez swoje hasło i jak na danej pozycji wystepuje litera 'A', to na tej samej pozycji w swojej kontrolce zamieniasz '*' na 'A'.
Wiec tak wyglada petla. teraz pytanie: jak zrobic zeby odejmowalo tylko raz stówke jak wpiszemy zla litere? ^^
ps. nie trzeba bylo od razu przenosic do newbie, nie mialem czasu zeby nad tym przysiasc :]
for (i = 0; i < haslo.Length; i++)
{
if (haslo[i] == litera[0])
{
// jesli jest szukana literka na danym miejscu, to wpisz
label1.Text += litera[0];
label2.Text = "Dostajesz 100 PLN za kazda odslonieta literke!";
kwota = kwota + 100;
txtKwota.Text = kwota.ToString();
}
else if (Char.IsWhiteSpace(haslo[i]))
{
// spacja
label1.Text += " ";
}
else if (!Char.IsLetter(zawartosc[i]))
{
// jesli nie ma litery w hasle wpisz gwiazdke
label1.Text += "*";
}
else if (Char.IsLetter(zawartosc[i]))
{
// jesli jest juz wpisana literka to ja zostaw
label1.Text += zawartosc[i];
}
else
{
}
}