unit UMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids;
type
TForm1 =
class(TForm)
TabAusgabe: TStringGrid;
BStart: TBitBtn;
procedure BStartClick(Sender: TObject);
private
{ Private-Deklarationen }
wfeld :
array[1..3, 1..100]
of integer;
FUNCTION preis (person: integer):
string;
PROCEDURE wuerfeln;
PROCEDURE ausgabe;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
procedure TForm1.wuerfeln;
var person, wurf :integer;
begin
FOR person:= 1
TO 100
DO
FOR wurf:= 1
TO 3
DO
wfeld[wurf,person]:= random(6) + 1;
end;
procedure TForm1.BStartClick(Sender: TObject);
begin
wuerfeln;
ausgabe;
end;
procedure TForm1.ausgabe;
var person, wurf :integer;
begin
for person:= 1
TO 100
DO
BEGIN
TabAusgabe.Cells[0,person-1]:= IntToStr(person);
FOR wurf:=1
TO 3
DO
TabAusgabe.Cells[wurf,person-1]:= IntToStr(wfeld[wurf,person]);
TabAusgabe.Cells[4,person-1]:= preis(person);
END;
end;
function TForm1.preis(person: integer):
string;
VAR preisklasse :
string;
PK : integer;
begin
preisklasse:= '
Niete';
if (wfeld[1,person] = wfeld[2,person])
OR (wfeld[2,person] = wfeld[3,person])
OR (wfeld[1,person] = wfeld[3,person])
THEN preisklasse := '
PK4';
if (wfeld[1,person] + wfeld[2,person] + wfeld[3,person] ) > 12
THEN preisklasse := '
PK3';
if
(wfeld[1,person] = wfeld[2,person])
and (wfeld[1,person] = wfeld[3,person])
THEN preisklasse := '
PK2';
if (wfeld[1,person] = wfeld[2,person])
and (wfeld[1,person] = wfeld[3,person])
and (wfeld[1,person] + wfeld[3,person] + wfeld[3,person] = 18 )
or (wfeld[1,person] = wfeld[2,person])
and (wfeld[1,person] = wfeld[3,person])
and (wfeld[1,person] + wfeld[3,person] + wfeld[3,person] = 3 )
THEN preisklasse := '
PK1';
result:= preisklasse;
end;
initialization
randomize;
end.