![]() |
Hangman Projekt für Info: Fragen über Fragen
Hallo.....
Bin noch neu in der Welt von Delphi und Delphi Praxis. :hi: Ich muss für meinen Infokurs ein Hangman programmieren. Bin bis jetzt auch ganz gut zurechtgekommen, allerdings hab ich jetzt ein Problem: Ich hab ne Funktion geschrieben,die prüft, ob der eingegebene Buchstabe in dem gesuchten Wort enthalten ist. Wenn er vorhanden ist, schreibt er in ein Label "ok", ansonsten "nö" (wird im fertigen Spiel natürlich nicht mehr so sein, dass dann da irgendwas reingeschrieben wird, is nur für mich zur kontrolle gedacht).Wenn ich jetzt das programm laufen lasse, und nen Buchstaben eingebe, steht in dem Label immer abwechseld "nö" und "ok", also ich mein wenn ich zum beispiel "b" eingebe und das gesuchte Wort "blöd" ist, springt im der Text im Label ständig von "nö" zu "ok" und wieder zu "nö" und immer so weiter. Ich füg mal den Quellcode von meiner Funktion ein.
Delphi-Quellcode:
und von der Überprüfung:
function BuchstabeEnthalten (Buchstabe,RateWort:String): boolean;
var i,m: integer; Enthalten: boolean; begin Enthalten:=false; m:=WortLaenge(RateWort); for i:=1 to m do if RateWort[i]=Buchstabe then Enthalten:= true; BuchstabeEnthalten:= Enthalten; end;
Delphi-Quellcode:
ich hoffe, dass ihr mir hier irgendwie weiterhelfen könnt.
procedure TForm1.Timer1Timer(Sender: TObject);
var b:String; begin B:=Edit1.Text; If Edit1.Text <> '' then if BuchstabeEnthalten(B,RateWort) then Label2.Caption:='ok' else Label2.Caption:='nö' else Label2.Caption:='bitte was eingeben'; end; Vielen dank schonmal mfg blub |
Re: Hangman Projekt für Info: Fragen über Fragen
hallo blub,
willkommen in der DP, schau dir mal deine If then else konstruktion an raik |
Re: Hangman Projekt für Info: Fragen über Fragen
Hai Blub *gg*,
hier mal ein Lösungsansatz von mir ;-)
Delphi-Quellcode:
var
ratewort : String; procedure TForm1.FormCreate(Sender: TObject); begin Edit1.Clear; Edit1.MaxLength := 1; ratewort := 'blubb'; Timer1.Interval := 2000; Timer1.Enabled := False; end; procedure TForm1.Edit1Change(Sender: TObject); begin If (Edit1.Text <> '') then begin if (Pos (Edit1.Text,ratewort) > 0) then begin Label1.Caption:='ok' end else begin Label1.Caption:='nö' end; end; Edit1.SelStart := 0; Edit1.SelLength := 1; Timer1.Enabled := True; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption:='bitte was eingeben'; Timer1.Enabled := False; end; |
Re: Hangman Projekt für Info: Fragen über Fragen
Ich hab letztens auch Hangman programmiert:
![]() Wenn du willst kann ich dir auch mal den Code schicken, der ist etwas zu lang um den zu posten |
Re: Hangman Projekt für Info: Fragen über Fragen
ahh danke, für die schnellen antworten. Ich werde mir dann mal meine If then else Konstruktion angucken :wink:
@demo13 danke, ich werd erstma versuchen meinen Quellcode so hinzubiegen, dass es funktioniert. Falls ich das nicht schaffen sollte werde ich mich an dich wenden :-D |
Re: Hangman Projekt für Info: Fragen über Fragen
Endlich mal einer, der Eigeninitiative zeigt. :party:
|
Re: Hangman Projekt für Info: Fragen über Fragen
Zitat:
nochmal @ demo13: Hab mir mal deine Hangman Version gezogen. Ich würde noch eine kleine Verbesserung vorschlagen: Du hast in deiner Liste Wörter wie "Kühlregal", allerdings keine Buttons wie "ü,ä, oder ö" :shock: wie soll ich denn da den Highscore knacken ?! :-D |
Re: Hangman Projekt für Info: Fragen über Fragen
ja hast recht. die wortliste hab ich auch nur so als beispiel erstellt man sollte sich eigentlich seine eigenen "schwierigen" wörter überlegen.
|
Re: Hangman Projekt für Info: Fragen über Fragen
soooo
irgendwie check ichs net! Ich hab mir die If then Else Konstruktion zwar nochma angeguckt, allerdings find ich meinen Fehler net :evil: wenn ich das so mache
Delphi-Quellcode:
gehts trotzdem net so wie ich das haben will. Gib mir doch mal bitte jemand einen kleinen Hinweis, wo in der If then Else kombi was net stimmt :-D
If Edit1.Text <> '' then
if BuchstabeEnthalten(B,RateWort)=true then Label2.Caption:='ok' else Label2.Caption:='nö' else Label2.Caption:='bitte was eingeben'; end; THX |
Re: Hangman Projekt für Info: Fragen über Fragen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz