Der Fehler im Code ist, dass du für jeden Buchstaben im Wort, der nicht der geratene Buchstabe ist, einen Fehler zählst. Den darfst du natürlich nur zählen, wenn der Buchstabe gar nicht im Wort enthalten ist.
Delphi-Quellcode:
procedure TForm1.btErgebnisClick(Sender: TObject);
var j:Integer;
begin
Labelcaption:=lbLoesung.Caption;
if Pos(Buchstabe, GesuchtesWort) > 0 then
for j:= 1 to length (GesuchtesWort) do
if GesuchtesWort[j] = Buchstabe then
Labelcaption[j] := Buchstabe;
else
begin
F := F + 1 div 6; // Wobei mir hier der Sinn entgeht
edFehler.Text:=IntToStr(F);
end;
@Vator, NoRiX: Habe ich denn etwas anderes geschrieben
? Die
ifs hab ich case absichtlich vorgezogen, damit die Funktion nicht vom bisherigen Canvas-Inhalt abhängig ist.