unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
StdCtrls, ExtCtrls, Menus, Buttons, ActnList,
test;
type
{ TForm1 }
TForm1 =
class(TForm)
BitBtn_c: TBitBtn;
BitBtn10: TBitBtn;
BitBtn9: TBitBtn;
BitBtn_d: TBitBtn;
BitBtn_v: TBitBtn;
BitBtn_fh: TBitBtn;
BitBtn_ks: TBitBtn;
BitBtn_gs: TBitBtn;
BitBtn_k: TBitBtn;
BitBtn_eins: TBitBtn;
BitBtn_zwei: TBitBtn;
BitBtn_drei: TBitBtn;
BitBtn_vier: TBitBtn;
BitBtn_fuenf: TBitBtn;
BitBtn_sechs: TBitBtn;
BitBtn_Versuche: TBitBtn;
BitBtn2: TBitBtn;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
Edit_d: TEdit;
Edit_v: TEdit;
Edit_fh: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
GroupBox1: TGroupBox;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
MainMenu1: TMainMenu;
MenuItem1: TMenuItem;
MenuItem10: TMenuItem;
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem13: TMenuItem;
MenuItem14: TMenuItem;
MenuItem15: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
Panel1: TPanel;
StringGrid1: TStringGrid;
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn_dClick(Sender: TObject);
procedure BitBtn_VersucheClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure Neu;
public
var
Form1: TForm1;
end;
implementation
{$R *.lfm}
{ TForm1 }
var Spieler,Versuche,Runde,Schritt: Integer;
SpielerA,SpielerB,SpielerC:
record
eins,zwei,drei,vier,fuenf,sechs,d,v,fh,ks,gs,k,c:boolean;
end;
Wuerfel:
array [1..5]
of Integer;
function Wurf:Integer;
begin
Wurf:=Random(6)+1;
end;
//Neue Runde
procedure TForm1.Neu;
begin
Schritt:=1;
Spieler:=Spieler+1;
if Spieler>3
then
begin
Spieler:=Spieler-3;
Runde:=Runde+1;
end;
if Runde>13
then Abort
//ShowMessage:='Spiel beendet'
else
begin
if Spieler=1
then
begin
BitBtn_eins.visible:=SpielerA.eins;
BitBtn_zwei.visible:=SpielerA.Zwei;
BitBtn_drei.visible:=SpielerA.drei;
BitBtn_vier.visible:=SpielerA.vier;
BitBtn_fuenf.visible:=SpielerA.fuenf;
BitBtn_sechs.visible:=SpielerA.sechs;
BitBtn_d.visible:=SpielerA.d;
BitBtn_v.visible:=SpielerA.v;
BitBtn_fh.visible:=SpielerA.fh;
BitBtn_ks.visible:=SpielerA.ks;
BitBtn_gs.visible:=SpielerA.gs;
BitBtn_k.visible:=SpielerA.k;
BitBtn_c.visible:=SpielerA.c;
end;
if Spieler=2
then
begin
BitBtn_eins.visible:=Spielerb.eins;
BitBtn_zwei.visible:=Spielerb.Zwei;
BitBtn_drei.visible:=Spielerb.drei;
BitBtn_vier.visible:=Spielerb.vier;
BitBtn_fuenf.visible:=Spielerb.fuenf;
BitBtn_sechs.visible:=Spielerb.sechs;
BitBtn_d.visible:=Spielerb.d;
BitBtn_v.visible:=Spielerb.v;
BitBtn_fh.visible:=Spielerb.fh;
BitBtn_ks.visible:=Spielerb.ks;
BitBtn_gs.visible:=Spielerb.gs;
BitBtn_k.visible:=Spielerb.k;
BitBtn_c.visible:=Spielerb.c;
end;
if Spieler=3
then
begin
BitBtn_eins.visible:=Spielerc.eins;
BitBtn_zwei.visible:=Spielerc.Zwei;
BitBtn_drei.visible:=Spielerc.drei;
BitBtn_vier.visible:=Spielerc.vier;
BitBtn_fuenf.visible:=Spielerc.fuenf;
BitBtn_sechs.visible:=Spielerc.sechs;
BitBtn_d.visible:=Spielerc.d;
BitBtn_v.visible:=Spielerc.v;
BitBtn_fh.visible:=Spielerc.fh;
BitBtn_ks.visible:=Spielerc.ks;
BitBtn_gs.visible:=Spielerc.gs;
BitBtn_k.visible:=Spielerc.k;
BitBtn_c.visible:=Spielerc.c;
end;
Versuche:=3;
BitBtn_Versuche.caption:='
3';
BitBtn_Versuche.Visible:=true;
Checkbox1.caption:='
';
Checkbox2.caption:='
';
Checkbox3.caption:='
';
Checkbox4.caption:='
';
Checkbox5.caption:='
';
end;
end;
//Start
procedure TForm1.FormCreate(Sender: TObject);
begin
Versuche:=3;
Spieler:=1;
Runde:=1;
with spielerA
do
begin
eins:=true;
zwei:=true;
drei:=true;
vier:=true;
fuenf:=true;
sechs:=true;
d:=true;
v:=true;
fh:=true;
ks:=true;
gs:=true;
k:=true;
c:=true;
end;
with spielerb
do
begin
eins:=true;
zwei:=true;
drei:=true;
vier:=true;
fuenf:=true;
sechs:=true;
d:=true;
v:=true;
fh:=true;
ks:=true;
gs:=true;
k:=true;
c:=true;
end;
with spielerc
do
begin
eins:=true;
zwei:=true;
drei:=true;
vier:=true;
fuenf:=true;
sechs:=true;
d:=true;
v:=true;
fh:=true;
ks:=true;
gs:=true;
k:=true;
c:=true;
end;
Versuche:=3;
BitBtn_Versuche.caption:='
3';
BitBtn_Versuche.Visible:=true;
Checkbox1.caption:='
';
Checkbox2.caption:='
';
Checkbox3.caption:='
';
Checkbox4.caption:='
';
Checkbox5.caption:='
';
end;
procedure TForm1.BitBtn10Click(Sender: TObject);
begin
FormCreate(Sender);
end;
//Würfeln
procedure TForm1.BitBtn_VersucheClick(Sender: TObject);
begin
if Checkbox1.State=cbchecked
then
begin
Wuerfel[1]:=Wurf;
Checkbox1.caption:=IntToStr(Wuerfel[1]);
{Image1.Picture.LoadfromFile;}
end;
if Checkbox2.State=cbchecked
then
begin
Wuerfel[2]:=Wurf;
Checkbox2.caption:=IntToStr(Wuerfel[2]);
end;
if Checkbox3.State=cbchecked
then
begin
Wuerfel[3]:=Wurf;
Checkbox3.caption:=IntToStr(Wuerfel[3]);
end;
if Checkbox4.State=cbchecked
then
begin
Wuerfel[4]:=Wurf;
Checkbox4.caption:=IntToStr(Wuerfel[4]);
end;
if Checkbox5.State=cbchecked
then
begin
Wuerfel[5]:=Wurf;
Checkbox5.caption:=IntToStr(Wuerfel[5]);
end;
Versuche:=Versuche-1;
BitBtn_Versuche.caption:=IntToStr(Versuche);
If Versuche<1
then
begin
BitBtn_Versuche.Visible:=false;
Schritt:=2;
end;
end;
// Wahrscheinlichkeit
procedure TForm1.BitBtn9Click(Sender: TObject);
begin
//Berechnung der Wahrscheinlichkeit für das erzielen der erforderten Folge
{Edit_d.text:=FloatToStr((nd/x)*w);
Edit_.text:=FloatToStr((nv/x)*w);
Edit_.text:=FloatToStr((nfh/x)*w);
Edit_.text:=FloatToStr((nks/x)*w);
Edit_.text:=FloatToStr((ngs/x)*w);
Edit_.text:=FloatToStr((nk/x)*w);}
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
close;
end;
//Eintragen
procedure TForm1.BitBtn_dClick(Sender: TObject);
var dr:boolean;
p:integer;
begin
if Schritt=2
then
begin
{ueberpruefen(Wuerfel);}
sort(Wuerfel);
if Wuerfel[1]=Wuerfel[2]
{and W[1]=W[3]} then
if Wuerfel[1]=Wuerfel[3]
then
dr:=true
else dr:=false;
if Wuerfel[2]=Wuerfel[3]
then
if Wuerfel[2]=Wuerfel[4]
then
dr:=true
else dr:=false;
if Wuerfel[3]=Wuerfel[4]
then
if Wuerfel[3]=Wuerfel[5]
then
dr:=true
else dr:=false;
if dr=true
then p:=25
else
{showmessage}
p:=0;
StringGrid1.Cells[Spieler,8]:=IntToStr(p);
if Spieler=1
then
SpielerA.d:=false;
if Spieler=2
then
SpielerB.d:=false;
if Spieler=3
then
SpielerC.d:=false;
neu;
end;
end;
end.