unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls,spielvar,spielgraph, CCGeneral, CCScrollBar,turbo;

type
  TForm3 = class(TForm)
    ScrollBox1: TScrollBox;
    Label1: TLabel;
    Label2: TLabel;
    PaintBox1: TPaintBox;
    PaintBox2: TPaintBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    PaintBox3: TPaintBox;
    PaintBox4: TPaintBox;
    PaintBox5: TPaintBox;
    Label6: TLabel;
    Label7: TLabel;
    CCScrollBar1: TCCScrollBar;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    PaintBox6: TPaintBox;
    PaintBox7: TPaintBox;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label37: TLabel;
    Label22: TLabel;
    Label33: TLabel;
    PaintBox8: TPaintBox;
    Label36: TLabel;
    Label38: TLabel;
    procedure PaintBox1Paint(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormHide(Sender: TObject);
    procedure PaintBox2Paint(Sender: TObject);
    procedure PaintBox3Paint(Sender: TObject);
    procedure PaintBox4Paint(Sender: TObject);
    procedure PaintBox5Paint(Sender: TObject);
    procedure PaintBox6Paint(Sender: TObject);
    procedure PaintBox7Paint(Sender: TObject);
    procedure CCScrollBar1Change(Sender: TObject);
    procedure PaintBox8Paint(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen}
    renderer:TBrandubhSpielfeldRenderer;
    spielFeld1,spielFeld2,spielFeld3,spielFeld4,spielFeld5,spielFeld6,spielFeld7:TSpielFeldC;
  public
    { Public-Deklarationen}
  end;

var
  Form3: TForm3;

implementation

uses Unit1, unit2;

{$R *.DFM}

procedure TForm3.PaintBox1Paint(Sender: TObject);
begin
  renderer.renderSpielfeldToFeld(spielFeld1,PaintBox1,-1,-1,0,0,30,form2.CCScrollBar1.ScrollBarInformationen.Position,true,false,nil,-1,-1);
end;

procedure TForm3.FormShow(Sender: TObject);
begin
  ScrollBox1.VertScrollBar.Size:=1;
  spielFeld1:=TSpielFeldC.create;
  spielFeld2:=TSpielFeldC.create;
  spielFeld2.init;
  spielFeld3:=TSpielFeldC.create;
  spielFeld3.felder_xsf[6,3]:=fKoenig;
  spielFeld4:=TSpielFeldC.create;
  spielFeld4.felder_xsf[6,4]:=fBelagerer;
  spielFeld4.felder_xsf[5,4]:=fKoenig;
  spielFeld4.felder_xsf[4,4]:=fBelagerer;
  spielFeld4.felder_xsf[5,3]:=fBelagerer;
  spielFeld4.felder_xsf[5,5]:=fBelagerer;
  spielFeld5:=TSpielFeldC.create;
  spielFeld5.felder_xsf[2,4]:=fBelagerer;
  spielFeld5.felder_xsf[3,4]:=fKoenig;
  spielFeld5.felder_xsf[4,4]:=fBelagerer;
  spielFeld5.felder_xsf[3,5]:=fBelagerer;
  spielFeld6:=TSpielFeldC.create;
  spielFeld6.felder_xsf[6,6]:=fBelagerer;
  spielFeld6.felder_xsf[4,5]:=fGetreuer;
  spielFeld6.felder_xsf[6,4]:=fBelagerer;
  spielFeld7:=TSpielFeldC.create;
  spielFeld7.felder_xsf[6,6]:=fBelagerer;
  spielFeld7.felder_xsf[6,5]:=fGetreuer;
  spielFeld7.felder_xsf[4,4]:=fBelagerer;

  renderer:=TBrandubhSpielfeldRenderer.Create(form1.startpfad_s);;
  ScrollBox1.VertScrollBar.Range:=ScrollBox1.VertScrollBar.Range+20;
  CCScrollBar1.ScrollBarInformationen.PageSize:=trunc(CCScrollBar1.Height / (ScrollBox1.VertScrollBar.Range / ClientHeight));
  CCScrollBar1.ScrollBarInformationen.MaxValue:=ScrollBox1.VertScrollBar.Range-ClientHeight;

end;

procedure TForm3.FormHide(Sender: TObject);
begin
  renderer.free;
  spielFeld7.free;
  spielFeld6.free;
  spielFeld5.free;
  spielFeld4.free;
  spielFeld3.free;
  spielFeld2.free;
  spielFeld1.free;

end;

procedure TForm3.PaintBox2Paint(Sender: TObject);
begin
  renderer.renderSpielfeldToFeld(spielFeld2,PaintBox2,-1,-1,0,0,30,form2.CCScrollBar1.ScrollBarInformationen.Position,true,false,nil,-1,-1);
end;

procedure TForm3.PaintBox3Paint(Sender: TObject);
begin
  renderer.renderSpielfeldToFeld(spielFeld3,PaintBox3,-1,-1,-140,-80,30,form2.CCScrollBar1.ScrollBarInformationen.Position,true,false,nil,-1,-1);
end;

procedure TForm3.PaintBox4Paint(Sender: TObject);
begin
  renderer.renderSpielfeldToFeld(spielFeld4,PaintBox4,-1,-1,-140,-100,30,form2.CCScrollBar1.ScrollBarInformationen.Position,true,false,nil,-1,-1) ;
end;

procedure TForm3.PaintBox5Paint(Sender: TObject);
begin
  renderer.renderSpielfeldToFeld(spielFeld5,PaintBox5,-1,-1,-70,-105,30,form2.CCScrollBar1.ScrollBarInformationen.Position,true,false,nil,-1,-1);

end;

procedure TForm3.PaintBox6Paint(Sender: TObject);
begin
  renderer.renderSpielfeldToFeld(spielFeld6,PaintBox6,-1,-1,-130,-130,30,form2.CCScrollBar1.ScrollBarInformationen.Position,true,false,nil,-1,-1) ;
  with PaintBox6.Canvas do begin
    Pen.Color:=SetHelligkeit(clGreen,form2.CCScrollBar1.ScrollBarInformationen.Position-225);
    Pen.Width:=2;
    MoveTo(30,50);
    LineTo(80,50);
    LineTo(70,40);
    MoveTo(80,50);
    LineTo(70,60);
  end;
end;

procedure TForm3.PaintBox7Paint(Sender: TObject);
begin
  renderer.renderSpielfeldToFeld(spielFeld7,PaintBox7,-1,-1,-130,-130,30,form2.CCScrollBar1.ScrollBarInformationen.Position,true,false,nil,-1,-1);
  with PaintBox7.Canvas do begin
    Pen.Color:=SetHelligkeit(clGreen,form2.CCScrollBar1.ScrollBarInformationen.Position-225);
    Pen.Width:=2;
    MoveTo(30,20);
    LineTo(80,20);
    LineTo(70,10);
    MoveTo(80,20);
    LineTo(70,30);
  end;

end;

procedure TForm3.CCScrollBar1Change(Sender: TObject);
begin
  ScrollBox1.VertScrollBar.Position:=CCScrollBar1.ScrollBarInformationen.Position;
end;

procedure TForm3.PaintBox8Paint(Sender: TObject);
begin
  renderer.figurenbilder_xfb.DrawToCanvasEx(fBelagerer,PaintBox8.Canvas,52,4,30,30,form2.CCScrollBar1.ScrollBarInformationen.Position-254);
  renderer.figurenbilder_xfb.DrawToCanvasEx(fGetreuer,PaintBox8.Canvas,132,4,30,30,form2.CCScrollBar1.ScrollBarInformationen.Position-254);
  renderer.figurenbilder_xfb.DrawToCanvasEx(fKoenig,PaintBox8.Canvas,212,4,30,30,form2.CCScrollBar1.ScrollBarInformationen.Position-254);
  renderer.figurenbilder_xfb.DrawToCanvasEx(fThron,PaintBox8.Canvas,292,4,30,30,form2.CCScrollBar1.ScrollBarInformationen.Position-254);
  renderer.figurenbilder_xfb.DrawToCanvasEx(fKoenigThron,PaintBox8.Canvas,412,4,30,30,form2.CCScrollBar1.ScrollBarInformationen.Position-254);
  with PaintBox8.Canvas do begin
    brush.Style:=bsClear;
    TextOut(46,40,'Belagerer:');
    TextOut(127,40,'Getreuer:');
    TextOut(209,40,'König:');
    TextOut(294,40,'Thron:');
    TextOut(400,40,'König & Thron:');
  end;
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
  color:=form1.CCDarstellungsSteuerung1.OberflaecheVon3DObjekten;
end;

end.
