Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Hangman Projekt für Info: Fragen über Fragen (https://www.delphipraxis.net/24805-hangman-projekt-fuer-info-fragen-ueber-fragen.html)

Blub 26. Jun 2004 18:25


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:
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;
und von der Überprüfung:

Delphi-Quellcode:
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;
ich hoffe, dass ihr mir hier irgendwie weiterhelfen könnt.

Vielen dank schonmal

mfg blub

kiar 26. Jun 2004 18:38

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

Sharky 26. Jun 2004 19:07

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;

demo13 27. Jun 2004 09:11

Re: Hangman Projekt für Info: Fragen über Fragen
 
Ich hab letztens auch Hangman programmiert:
http://tim.ilei.de/hangman.zip

Wenn du willst kann ich dir auch mal den Code schicken, der ist etwas zu lang um den zu posten

Blub 27. Jun 2004 13:36

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

Ultimator 27. Jun 2004 13:41

Re: Hangman Projekt für Info: Fragen über Fragen
 
Endlich mal einer, der Eigeninitiative zeigt. :party:

Blub 27. Jun 2004 15:10

Re: Hangman Projekt für Info: Fragen über Fragen
 
Zitat:

Zitat von Ultimator
Endlich mal einer, der Eigeninitiative zeigt. :party:

:-D Ich will ja auch verstehen, was ich mache. Was bringts mir, wenn ich mir nen Quellcode zieh, von dem ich nur die hälfte versteh und dann mein Programm vorstellen muss? Da schieß ich mir selbst ins Bein :roll:

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

demo13 27. Jun 2004 20:43

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.

Blub 28. Jun 2004 14:03

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:
If Edit1.Text <> '' then
 if BuchstabeEnthalten(B,RateWort)=true then
 Label2.Caption:='ok' else
 Label2.Caption:='nö'
else
Label2.Caption:='bitte was eingeben';
end;
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
THX

Nicolai1234 28. Jun 2004 14:08

Re: Hangman Projekt für Info: Fragen über Fragen
 
Zitat:

Zitat von Blub
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:
If Edit1.Text <> '' then
 if BuchstabeEnthalten(B,RateWort)=true then
 Label2.Caption:='ok' else
 Label2.Caption:='nö'
else
Label2.Caption:='bitte was eingeben';
end;
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
THX

Ich denke auch, dass alles richtig ist!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 Uhr.
Seite 1 von 5  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz