unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, StdCtrls, mmsystem;
type
TForm1 =
class(TForm)
Ibackground: TImage;
Lheader: TLabel;
Lneu: TLabel;
Lhigh: TLabel;
Lquit: TLabel;
Ipfeil: TImage;
Timer1: TTimer;
procedure FormKeyUp(Sender: TObject;
var Key: Word;
Shift: TShiftState);
procedure Timer1Timer(sender:Tobject);
end;
Tkreis=
class
x:integer;
y:integer;
radius:integer;
farbe:longint;
dx:integer;
dy:integer;
constructor erzeugen(xpos, ypos ,r : integer; colr:longint; dvx, dvy:integer);
procedure zeichnen(Canv:Tcanvas; colr: longint);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
Vmenue:integer;
// 0 = Menü 1 , 1 = Menü 2
Vgame:integer;
// 0 = nicht im Spiel , 1 = Im Spiel
Kreis1:Tkreis;
implementation
constructor Tkreis.erzeugen (xpos, ypos ,r : integer; colr:longint; dvx, dvy:integer);
begin
x := xpos;
y := ypos;
radius := r;
farbe := colr;
dx:= dvx;
dy:=dvy;
end;
{$R *.dfm}
procedure tkreis.zeichnen(Canv:Tcanvas;colr:longint);
begin
with canv
do
begin
brush.color:=colr;
pen.Color:=Form1.color;
ellipse(x-radius,y-radius,x+radius,y+radius);
end;
end;
///////////////////////////// KEYS /////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TForm1.FormKeyUp(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
//////////////////////////// DOWN KEY //////////////////////////////////////////
if Vgame = 0
then
If Key = VK_Down
then
begin
sndPlaySound('
Click01.wav',SND_SYNC);
if IPfeil.top = 216
then
Ipfeil.top:= Ipfeil.top + 80
else
if Ipfeil.top= 296
then
Ipfeil.top:= Ipfeil.top + 80
else Ipfeil.top:= 216;
end;
//////////////////////////// UP KEY ////////////////////////////////////////////
if Vgame = 0
then
if Key = VK_Up
then
begin
sndPlaySound('
Click01.wav',SND_SYNC);
if IPfeil.top = 216
then
Ipfeil.top:= 376
else
if Ipfeil.top= 296
then
Ipfeil.top:= 216
else Ipfeil.top:= 296;
end;
//////////////////////////// EINGABETASTE //////////////////////////////////////
if Vgame=0
then
if Key = VK_RETURN
then
begin
sndPlaySound('
Click01.wav',SND_SYNC);
//////////////////////////// MENÜ 0
if Vmenue=0
then
if Ipfeil.top = 216
then
begin
Lneu.caption:='
Einzelspieler';
Lhigh.caption:='
Mehrspieler';
Lquit.caption:='
zurück';
Vmenue:=1;
end
else
if Ipfeil.top = 296
then Showmessage('
Tut mir leid es gibt noch keine Highscores!')
else close
//////////////////////////// MENÜ 1
else
if Vmenue=1
then
if Ipfeil.top = 216
then
begin
Lneu.Visible:=false;
Lhigh.visible:=false;
Lquit.Visible:=false;
Ipfeil.visible:=false;
Lheader.Visible:=false;
Vgame:=1;
Kreis1:=Tkreis.erzeugen(Form1.ClientWidth
div 2, Form1.ClientHeight
div 2,15,$000000,2,2);
Kreis1.zeichnen(form1.canvas,kreis1.farbe);
Timer1.Enabled:=true;
end
else
if Ipfeil.top = 296
then Showmessage ('
Tut mir leid es gibt noch keinen Mehrspieler Modus!')
else
begin
Lneu.caption:='
Neues Spiel';
Lhigh.caption:='
Highscore';
Lquit.caption:='
Beenden';
Vmenue:=0;
end;
end;
end;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure anzeigen (kreis:Tkreis);
begin
Kreis.zeichnen(form1.canvas,form1.color);
if kreis.x>=Form1.clientWidth-kreis.radius
then Kreis.dx:=Kreis.dx*(-1);
if Kreis.x<=0+kreis.radius
then Kreis.dx:=kreis.dx*(-1);
if kreis.y>=Form1.clientheight-kreis.radius
then Kreis.dy:=Kreis.dy*(-1);
if Kreis.y<=0+kreis.radius
then Kreis.dy:=kreis.dy*(-1);
kreis.x:=kreis.x+kreis.dx;
kreis.y:=kreis.y+kreis.dy;
Kreis.zeichnen(form1.canvas,kreis.farbe);
end;
Procedure tform1.timer1timer(sender:tobject);
begin
anzeigen(kreis1);
end;
end.