Einzelnen Beitrag anzeigen

Sandy123

Registriert seit: 22. Mär 2011
12 Beiträge
 
#7

AW: Fehler in meinem Snake-Programm

  Alt 23. Mär 2011, 20:43
passt auf jungs
hier der gesamte quelltext

unit Main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TSnake = class(TObject)
private
//private Dekleration
rTeile: array[0..40*30-1] OF TPoint;
rAnzahlTeile : Word;
rCanvas : TCanvas;

function LiesTeil( Index : Word): TPoint;

public
//Öffentliche Dekleration

property Teile [ Index : Word ] : TPoint read LiesTeil;
property AnzahlTeile : Word read rAnzahlTeile;
property Canvas : TCanvas read rCanvas write rCanvas;

procedure Init();
procedure Render();
end;

TForm1 = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
private
{ Private-Deklarationen }
Schlange : TSnake;
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ --- Snake Bereich --- }
function TSnake.LiesTeil( Index : Word) : TPoint;
begin
result:= rTeile [ Index ];
end;

procedure TSnake.Init();
begin
rAnzahlTeile :=2;

rTeile[0] := Point ( 2, 0 );
rTeile[0] := Point ( 1, 0 );
rTeile[0] := Point ( 0, 0 );
end;

procedure TSnake.Render();
var
Index : Word;
StartX, StartY : integer;
EndeX, EndeY : integer;
begin
rCanvas.Pen.Color:= clGreen;
rCanvas.Brush.Color:= clGreen;

for Index :=0 to rAnzahlTeile do
begin

StartX := rTeile[Index].X = 16;
EndeX := rTeile[ Index ].X = 16 + 16 ;
StartY := rTeile[ Index ].Y = 16 ;
EndeY := rTeile[ Index ].Y = 16 + 16 ;

rCanvas.Ellipse( StartX, StartY, EndeX, EndeY);
end;
end;


{ --- Fenster Bereich --- }


procedure TForm1.FormCreate(Sender: TObject);
begin
Schlange:= TSnake.Create;
Schlange.Canvas := Self.Canvas;
Schlange.Init();

Self.DoubleBuffered := true;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Schlange.Free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Schlange.Render();
end;

end.


komm einfach nicht weiter
viel glück
  Mit Zitat antworten Zitat