Selvos
Lt. Junior Grade
- Registriert
- Jan. 2009
- Beiträge
- 303
Hallo liebe Community,
Ich habe die Aufgabe ein Galgenmännchenspiel zu programmieren, vielleicht könnt ihr mir helfen ?
Die Funktion das er die Fehlversuche zählt funktioniert nicht richtig , deswegen kann er auch das Galgenmännchen nicht zeichen, glaube ich. Genauso weiß ich nicht warum das Programm zuviele Striche zeichnet wenn man auf Starten drückt. Außerdem ersetzt er die Striche nicht mit den Buchstaben wenn man einen richtigen eingegeben hat. Könntet ihr mir bei der Fehlersuche helfen ? Vielen Dank !
Ich habe die Aufgabe ein Galgenmännchenspiel zu programmieren, vielleicht könnt ihr mir helfen ?
Die Funktion das er die Fehlversuche zählt funktioniert nicht richtig , deswegen kann er auch das Galgenmännchen nicht zeichen, glaube ich. Genauso weiß ich nicht warum das Programm zuviele Striche zeichnet wenn man auf Starten drückt. Außerdem ersetzt er die Striche nicht mit den Buchstaben wenn man einen richtigen eingegeben hat. Könntet ihr mir bei der Fehlersuche helfen ? Vielen Dank !
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Turtle;
type
TForm1 = class(TForm)
Turtle1: TTurtle;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
Button3: TButton;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Button4: TButton;
Button5: TButton;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
a,c : integer;
b,z,striche : string;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure Zufall( var label5:Tlabel);
begin
Randomize;
a:=random(3);
if a = 0 then b:='Lolip';
if a = 1 then b:='Testbetrieb';
if a = 2 then b:='Uhr' ;
z:=uppercase(b);
c:=Length(z);
Label5.Caption:=IntToStr(c);
end;
procedure BStriche(var label10:Tlabel);
var p : integer;
begin
striche:='';
for p:=1 to c do
begin
striche:=striche+'- ';
end;
Label10.Caption:=striche;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,fehler : integer ;
temp,intern : string;
e: char;
drin : boolean;
begin
Edit1.text:=Uppercase(Edit1.text);
if Edit1.Text <> '' then e:=Edit1.Text[1];
Label9.Caption:=Label9.Caption+e+' ';
temp:= Label10.Caption;
drin:= false;
for i := 1 to c do
if z[i]= e then
if intern[i] = e then drin :=false
else begin
intern[i] := e;
temp[i*2] := e;
drin:= true;
end;
Edit1.Text:='';
edit1.SetFocus;
if not drin then begin
inc(fehler);
label7.Caption:=IntTostr(fehler);
if fehler=1 then form1.Turtle1.cs;form1.Turtle1.ht;
form1.Turtle1.pu;form1.Turtle1.fd(10);form1.Turtle1.lt(90);form1.Turtle1.fd(120);
form1.Turtle1.pd;form1.Turtle1.fd(220);form1.Turtle1.pu; //Grundplatte
if fehler=2 then
form1.Turtle1.rt(180);form1.Turtle1.fd(110);form1.Turtle1.lt(90);form1.Turtle1.pd;
form1.Turtle1.fd(300); // Ständer hoch
if fehler=3 then
form1.Turtle1.rt(90);form1.Turtle1.fd(140); //ständer schräg
if fehler=4 then
form1.Turtle1.rt(90);form1.Turtle1.fd(50); // seil runter
if fehler=5 then
form1.Turtle1.lt(90);
for i:=1 to 64 do
begin
form1.Turtle1.rt(360/64);
form1.Turtle1.fd(2.5);
end;
form1.Turtle1.pu;
for i:=1 to 32 do
begin
form1.Turtle1.rt(360/64);
form1.Turtle1.fd(2.5);
end; // Kopf
if fehler=6 then
form1.Turtle1.lt(90);form1.Turtle1.pd;form1.Turtle1.fd(70); //Rumpf
if fehler=7 then
form1.Turtle1.lt(30); form1.Turtle1.fd(60); // linkes bein
if fehler=8 then
form1.Turtle1.pu;form1.Turtle1.lt(180);form1.Turtle1.fd(60);form1.Turtle1.lt(120);
form1.Turtle1.pd;form1.Turtle1.fd(60); //rechtes bein
if fehler=9 then
form1.Turtle1.pu;form1.Turtle1.lt(180);form1.Turtle1.fd(60);form1.Turtle1.lt(30);
form1.Turtle1.fd(45);form1.Turtle1.rt(45);form1.Turtle1.pd;
form1.Turtle1.fd(65); // linker Arm
if fehler=10 then
form1.Turtle1.lt(180);form1.Turtle1.fd(65);form1.Turtle1.rt(90);
form1.Turtle1.fd(65); //rechter arm
if fehler=10 then
begin
form4.showmodal;
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
form2.showmodal;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Edit1.Text:='';Label9.caption:='';
Label10.Caption:='';
Zufall(label5);
Bstriche(label10);
button1.Visible:=True;
button2.Visible:=True;
edit1.Visible:=True;
edit2.Visible:=True;
Edit1.MaxLength := 1;
Edit1.setfocus;
end;
procedure TForm1.Button2Click(Sender: TObject);
var u,w : string ;
begin
u:=Edit2.Text;
w:=Uppercase(u);
if w=z then form3.showmodal;
end;
end.
Anhänge
Zuletzt bearbeitet:
(Variable initialisieren)