unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
const
farben:
Array [0..2]
of TColor=(clWhite, clLime, clRed);
stufen:
Array [0..2]
of Cardinal=(200, 100, 50);
raster = 7;
breite = 65;
hoehe = 45;
Langsam = 250;
Mittel = 100;
Schnell = 50;
type
TForm1 =
class(TForm)
Spielfeld: TPaintBox;
Timer1: TTimer;
BStart: TButton;
BOben: TButton;
BLinks: TButton;
BRechts: TButton;
BUnten: TButton;
PEnde: TButton;
BPause: TButton;
BWeiter: TButton;
PLeicht: TButton;
PSchwer: TButton;
PMittel: TButton;
Label1: TLabel;
Label2: TLabel;
procedure BStartClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure BObenClick(Sender: TObject);
procedure BLinksClick(Sender: TObject);
procedure BRechtsClick(Sender: TObject);
procedure BUntenClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure PEndeClick(Sender: TObject);
procedure BPauseClick(Sender: TObject);
procedure BWeiterClick(Sender: TObject);
procedure PLeichtClick(Sender: TObject);
procedure PMittelClick(Sender: TObject);
procedure PSchwerClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
private
{ Private-Deklarationen }
map:
Array [0..breite]
of Array [0..hoehe]
of Integer;
kopf,
richtung,
punkt: TPoint;
punkte: Integer;
laenge: Integer;
ende,
rand,
gebissen: Boolean;
name, rekord:
string;
datei:textfile;
procedure enable_buttons(status: Boolean);
procedure spiel_ende;
procedure neuer_punkt;
procedure paint_map;
procedure calc_snake;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.enable_buttons(status: Boolean);
begin
BOben.Enabled := status;
BRechts.Enabled := status;
BLinks.Enabled := status;
BUnten.Enabled := status;
BPause.Enabled := status;
BWeiter.Enabled := status;
PLeicht.Enabled := status;
PMittel.Enabled := status;
PSchwer.Enabled := status;
end;
procedure TForm1.spiel_ende;
begin
ende := True;
Timer1.Enabled := False;
BPause.Enabled:=False;
BWeiter.Enabled:=False;
PLeicht.Enabled:=False;
PMittel.Enabled:=False;
PSchwer.Enabled:=False;
enable_buttons(False);
BStart.Enabled := True;