Einzelnen Beitrag anzeigen

fabiO

Registriert seit: 5. Dez 2004
Ort: Jena
41 Beiträge
 
Delphi 6 Personal
 
#1

Funktion für Galgenraten will nicht Funktionieren :(

  Alt 21. Dez 2004, 13:31
Hi,

Ich hab seit diesem Jahr Informatik in der Schule, wo wir gerade Delphi behandeln, und hab ne Hausaufgabe aufbekommen mit der ich nich ganz klar komme

Ich soll ein Spiel programmieren, Galgenraten...

Mein Problem liegt darin, das ich gerne ein Funktion schreiben würde, die prüft, ob der Buchstabe bestandteil des zu erratenen Wortes ist... Bisher hab ich das hier zusammengebracht, komme aber nicht weiter, weil er immer wieder Fehler ausgibt, und ich keine ahnung hab, wie ich diese behebe...

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1 : TForm1;
  Wort : String = 'penispumpe';
  Wort1 : String = '**********';
  versuche, fehler : Integer;

implementation

{$R *.dfm}

Function buchstabe : Boolean;
var a : Char;
    Wort : String;
    i : Integer;

begin
  buchstabe := false;
  For i := 1 to length(Wort) do
    if Wort[i] = a
    then buchstabe := true;
end;



procedure TForm1.FormActivate(Sender: TObject);
begin
  Label1.Caption := Wort1;
  versuche := 0;
  fehler := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a : Char;
begin
  versuche := versuche+1; // immer wenn der User auf den Button klickt, wird ein Versuch dazu addiert!
  a := Lowercase(Edit1.Text)[1]; // Alle Buchstaben in kleinbuchstaben umwandeln
  if buchstabe(a) = true then // ist der buchstabe bestandteil des wortes, wird er anstelle des sterns angezeigt !
    begin
      Wort1[i] := a;
      versuche := versuche+1;
    end;

  if buchstabe(a) = false then // ist der buchstabe kein bestandteil des wortes, wird der stern angezeigt und ein fehler hinzuaddiert !
    begin
      Showmessage ('Sorry, der Buchstabe kommt nicht vor!');
      fehler := fehler+1;
    end;

  Label1.Caption := Wort1;
  Label4.Caption := IntToStr(versuche);
  Label5.Caption := IntToStr(fehler);
end;

end.
Hoffe ma ich habs irgendwie verständlich rübergebracht was ich machen will, pls help me

Gruss fabiO
  Mit Zitat antworten Zitat