Hier mal ein Teil des Codes ...
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
i : integer;
a : char;
implementation
procedure spielen;
begin
if i mod 2 = 0 then
begin
a := '0';
end
else
begin
a := 'X';
end;
i := i+1;
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
spielen;
button1.caption := a;
button1.font.size := 50;
if (button1.caption = button2.caption) and (button2.caption = button3.caption) or
(button4.caption = button5.caption) and (button5.caption = button6.caption) or
(button7.caption = button8.caption) and (button8.caption = button9.caption) or
(button1.caption = button4.caption) and (button4.caption = button7.caption) or
(button2.caption = button5.caption) and (button5.caption = button8.caption) or
(button3.caption = button6.caption) and (button6.caption = button9.caption) or
(button1.caption = button5.caption) and (button5.caption = button9.caption) or
(button3.caption = button5.caption) and (button5.caption = button7.caption) then
begin
if i mod 2 = 1 then
begin
showmessage('Spieler 0 hat gewonnen, Herzlichen Glückwunsch!');
end
else
begin
showmessage('Spieler X hat gewonnen, Herzichen Glückwunsch!');
end;
halt;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
spielen;
button2.caption := a;
button2.font.size := 50;
if (button1.caption = button2.caption) and (button2.caption = button3.caption) or
(button4.caption = button5.caption) and (button5.caption = button6.caption) or
(button7.caption = button8.caption) and (button8.caption = button9.caption) or
(button1.caption = button4.caption) and (button4.caption = button7.caption) or
(button2.caption = button5.caption) and (button5.caption = button8.caption) or
(button3.caption = button6.caption) and (button6.caption = button9.caption) or
(button1.caption = button5.caption) and (button5.caption = button9.caption) or
(button3.caption = button5.caption) and (button5.caption = button7.caption) then
begin
if i mod 2 = 1 then
begin
showmessage('Spieler 0 hat gewonnen, Herzlichen Glückwunsch!');
end
else
begin
showmessage('Spieler X hat gewonnen, Herzichen Glückwunsch!');
end;
halt;
end;
end;
Wie schon gleich auffält habe ich zwei mal den gleichen code in zwei verschiedenen proceduren verwendet ..., ich möchte eine procedure schreiben, wo der reinkommt...
Über eine hilfreiche Antwort würde ich mich sehr freuen

Jonathan