unit Canvas_Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, Menus, ExtCtrls; type   TForm1 = class(TForm) 	MainMenu1: TMainMenu; 	N1: TMenuItem; 	N2: TMenuItem; 	N3: TMenuItem; 	N4: TMenuItem; 	N5: TMenuItem; 	N6: TMenuItem; 	Timer1: TTimer; 	Timer2: TTimer; 	procedure FormPaint(Sender: TObject); 	procedure N6Click(Sender: TObject); 	procedure FormActivate(Sender: TObject); 	procedure N2Click(Sender: TObject); 	procedure Timer1Timer(Sender: TObject); 	procedure N3Click(Sender: TObject); 	procedure Timer2Timer(Sender: TObject);   private 	{ Private declarations }   public 	{ Public declarations }   end; var   Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormPaint(Sender: TObject); var x1, y1, x, y:integer; begin x1:=250; y1:=250; with canvas do begin   Form1.Canvas.pen.Color:=clBlack;    //telo   Form1.Canvas.Brush.Color:=clGray;   Form1.Canvas.Ellipse(x1-100,y1-125,x1,y1); 	//golova   Form1.Canvas.Brush.Color:=clWhite;   Form1.Canvas.Ellipse(x1-80,y1-160,x1-20,y1-100); 	 //lapki   Form1.Canvas.Brush.Color:=clBlack;   Form1.Canvas.Ellipse(x1-40,y1-5,x1-15,y1+5);   Form1.Canvas.Ellipse(x1-60,y1-5,x1-85,y1+5); 	  //glazki   Form1.Canvas.Brush.Color:=clGreen;   Form1.Canvas.Ellipse(x1-55,y1-125,x1-65,y1-145);   Form1.Canvas.Ellipse(x1-45,y1-125,x1-35,y1-145); 	  //ushki 	     Form1.Canvas.MoveTo(x1-85,y1-165);   Form1.Canvas.LineTo(x1-75,y1-145);   Form1.Canvas.MoveTo(x1-85,y1-165);   Form1.Canvas.LineTo(x1-65,y1-155);   Form1.Canvas.MoveTo(x1-15,y1-165);   Form1.Canvas.LineTo(x1-25,y1-145);   Form1.Canvas.MoveTo(x1-15,y1-165);   Form1.Canvas.LineTo(x1-35,y1-155); 	//nosik 	  Form1.Canvas.Brush.Color:=clWhite; 	  Form1.Canvas.Ellipse(x1-55,y1-120,x1-45,y1-114); 	  Form1.Canvas.MoveTo(x1-50,y1-114); 	  Form1.Canvas.LineTo(x1-50,y1-110); 	  Form1.Canvas.MoveTo(x1-55,y1-110); 	  Form1.Canvas.LineTo(x1-45,y1-110); 	//ruchki  //l 	Form1.Canvas.MoveTo(x1-65,y1-65); 	Form1.Canvas.LineTo(x1-65,y1-55); 	Form1.Canvas.LineTo(x1-67,y1-48); 	Form1.Canvas.LineTo(x1-70,y1-50);    // Form1.Canvas.LineTo(x1-75,y1-60); 	 //ruchki  //r 	 Form1.Canvas.MoveTo(x1-35,y1-65); 	 Form1.Canvas.LineTo(x1-35,y1-55); 	 Form1.Canvas.LineTo(x1-33,y1-48); 	 Form1.Canvas.LineTo(x1-30,y1-50); 	// Form1.Canvas.LineTo(y1-25,y1-60); 	 //hvostik 	 Form1.Canvas.Brush.Color:=clYellow; 	 Form1.Canvas.MoveTo(x1-25,y1-5); 	 Form1.Canvas.LineTo(x1+10,y1-15); 	 Form1.Canvas.LineTo(x1+25,y1-35); 	 Form1.Canvas.LineTo(x1+50,y1-120); 		 	 Form1.Canvas.Arc(x1+50,y1-130,x1+30,y1-110,x1+50,y1-120,x1+30,y1-120); 	 Form1.Canvas.MoveTo(x1+30,y1-120); 	 Form1.Canvas.LineTo(x1+5,y1-35); 	 Form1.Canvas.LineTo(x1-20,y1-15); 	//zrachki 	 Form1.Canvas.brush.Color:=clBlack; 	 Form1.Canvas.Ellipse(x1-58,y1-137,x1-62,y1-133); 	 Form1.Canvas.Ellipse(x1-42,y1-137,x1-38,y1-133); end; end; procedure TForm1.N6Click(Sender: TObject); begin  Application.Terminate; end; Var x,y,dx, dy:integer; procedure TForm1.FormActivate(Sender: TObject); begin  x:=10;  y:=200;  dx:=5;  dy:=5;  Timer1.Interval:=100;  Timer2.Interval:=100;  Form1.Canvas.Brush.Color:=Form1.Color;  Randomize;   x := Random(ClientWidth); if x <135 then x:=0;   y := Random(ClientHeight); if y <0 then y:= 0; end; var nap:boolean;									 //горизонталь procedure TForm1.N2Click(Sender: TObject); begin   Form1.Canvas.pen.Color:=Form1.Color;    //telo   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-100,y-125,x,y); 	//golova   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-80,y-160,x-20,y-100); 	 //lapki   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-40,y-5,x-15,y+5);   Form1.Canvas.Ellipse(x-60,y-5,x-85,y+5); 	  //glazki   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-55,y-125,x-65,y-145);   Form1.Canvas.Ellipse(x-45,y-125,x-35,y-145); 	 //ushki Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-75,y-145); Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-65,y-155); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-25,y-145); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-35,y-155); 	//nosik   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-55,y-120,x-45,y-114);   Form1.Canvas.MoveTo(x-50,y-114);   Form1.Canvas.LineTo(x-50,y-110);   Form1.Canvas.MoveTo(x-55,y-110);   Form1.Canvas.LineTo(x-45,y-110); 	//ruchki  //l   Form1.Canvas.MoveTo(x-65,y-65);   Form1.Canvas.LineTo(x-65,y-55);   Form1.Canvas.LineTo(x-67,y-48);   Form1.Canvas.LineTo(x-70,y-50);   //  Form1.Canvas.LineTo(x-75,y-60); 	 //ruchki  //r   Form1.Canvas.MoveTo(x-35,y-65);   Form1.Canvas.LineTo(x-35,y-55);   Form1.Canvas.LineTo(x-33,y-48);   Form1.Canvas.LineTo(x-30,y-50);    // Form1.Canvas.LineTo(y-25,y-60); 	 //hvostik   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.MoveTo(x-25,y-5);   Form1.Canvas.LineTo(x+10,y-15);   Form1.Canvas.LineTo(x+25,y-35);   Form1.Canvas.LineTo(x+50,y-120); 		   Form1.Canvas.Arc(x+50,y-130,x+30,y-110,x+50,y-120,x+30,y-120);   Form1.Canvas.MoveTo(x+30,y-120);   Form1.Canvas.LineTo(x+5,y-35);   Form1.Canvas.LineTo(x-20,y-15); 	//zrachki   Form1.Canvas.brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-58,y-137,x-62,y-133);   Form1.Canvas.Ellipse(x-42,y-137,x-38,y-133);   If nap=False Then    Begin 	x:=x+dx;    End    Else   Begin    x:=x-dx;   End;   If X+50>=Form1.Width Then    Begin 	nap:=True;    End;    If X-100=0 Then    Begin 	nap:=False;    End;    {FormPaint(Sender);}    Form1.Canvas.pen.Color:=clBlack;    //telo   Form1.Canvas.Brush.Color:=clGray;   Form1.Canvas.Ellipse(x-100,y-125,x,y); 	//golova   Form1.Canvas.Brush.Color:=clWhite;   Form1.Canvas.Ellipse(x-80,y-160,x-20,y-100); 	 //lapki   Form1.Canvas.Brush.Color:=clBlack;   Form1.Canvas.Ellipse(x-40,y-5,x-15,y+5);   Form1.Canvas.Ellipse(x-60,y-5,x-85,y+5); 	  //glazki   Form1.Canvas.Brush.Color:=clGreen;   Form1.Canvas.Ellipse(x-55,y-125,x-65,y-145);   Form1.Canvas.Ellipse(x-45,y-125,x-35,y-145); 	 //ushki Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-75,y-145); Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-65,y-155); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-25,y-145); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-35,y-155); 	//nosik   Form1.Canvas.Brush.Color:=clWhite;   Form1.Canvas.Ellipse(x-55,y-120,x-45,y-114);   Form1.Canvas.MoveTo(x-50,y-114);   Form1.Canvas.LineTo(x-50,y-110);   Form1.Canvas.MoveTo(x-55,y-110);   Form1.Canvas.LineTo(x-45,y-110); 	//ruchki  //l   Form1.Canvas.MoveTo(x-65,y-65);   Form1.Canvas.LineTo(x-65,y-55);   Form1.Canvas.LineTo(x-67,y-48);   Form1.Canvas.LineTo(x-70,y-50);   //  Form1.Canvas.LineTo(x-75,y-60); 	 //ruchki  //r   Form1.Canvas.MoveTo(x-35,y-65);   Form1.Canvas.LineTo(x-35,y-55);   Form1.Canvas.LineTo(x-33,y-48);   Form1.Canvas.LineTo(x-30,y-50);  //   Form1.Canvas.LineTo(y-25,y-60); 	 //hvostik   Form1.Canvas.Brush.Color:=clYellow;   Form1.Canvas.MoveTo(x-25,y-5);   Form1.Canvas.LineTo(x+10,y-15);   Form1.Canvas.LineTo(x+25,y-35);   Form1.Canvas.LineTo(x+50,y-120);   Form1.Canvas.Arc(x+50,y-130,x+30,y-110,x+50,y-120,x+30,y-120);   Form1.Canvas.MoveTo(x+30,y-120);   Form1.Canvas.LineTo(x+5,y-35);   Form1.Canvas.LineTo(x-20,y-15); 	//zrachki   Form1.Canvas.brush.Color:=clBlack;   Form1.Canvas.Ellipse(x-58,y-137,x-62,y-133);   Form1.Canvas.Ellipse(x-42,y-137,x-38,y-133);   Timer1.Enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin   N2Click(Sender); end; procedure TForm1.N3Click(Sender: TObject);				  //вертикаль var nap, Horiz, vert:boolean; begin   Form1.Canvas.pen.Color:=Form1.Color;    //telo   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-100,y-125,x,y); 	//golova   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-80,y-160,x-20,y-100); 	 //lapki   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-40,y-5,x-15,y+5);   Form1.Canvas.Ellipse(x-60,y-5,x-85,y+5); 	  //glazki   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-55,y-125,x-65,y-145);   Form1.Canvas.Ellipse(x-45,y-125,x-35,y-145); 	 //ushki Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-75,y-145); Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-65,y-155); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-25,y-145); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-35,y-155); 	//nosik   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-55,y-120,x-45,y-114);   Form1.Canvas.MoveTo(x-50,y-114);   Form1.Canvas.LineTo(x-50,y-110);   Form1.Canvas.MoveTo(x-55,y-110);   Form1.Canvas.LineTo(x-45,y-110); 	//ruchki  //l   Form1.Canvas.MoveTo(x-65,y-65);   Form1.Canvas.LineTo(x-65,y-55);   Form1.Canvas.LineTo(x-67,y-48);   Form1.Canvas.LineTo(x-70,y-50);   //  Form1.Canvas.LineTo(x-75,y-60); 	 //ruchki  //r   Form1.Canvas.MoveTo(x-35,y-65);   Form1.Canvas.LineTo(x-35,y-55);   Form1.Canvas.LineTo(x-33,y-48);   Form1.Canvas.LineTo(x-30,y-50);    // Form1.Canvas.LineTo(y-25,y-60); 	 //hvostik   Form1.Canvas.Brush.Color:=Form1.Color;   Form1.Canvas.MoveTo(x-25,y-5);   Form1.Canvas.LineTo(x+10,y-15);   Form1.Canvas.LineTo(x+25,y-35);   Form1.Canvas.LineTo(x+50,y-120); 		   Form1.Canvas.Arc(x+50,y-130,x+30,y-110,x+50,y-120,x+30,y-120);   Form1.Canvas.MoveTo(x+30,y-120);   Form1.Canvas.LineTo(x+5,y-35);   Form1.Canvas.LineTo(x-20,y-15); 	//zrachki   Form1.Canvas.brush.Color:=Form1.Color;   Form1.Canvas.Ellipse(x-58,y-137,x-62,y-133);   Form1.Canvas.Ellipse(x-42,y-137,x-38,y-133);  if Horiz then 	 Begin 	  if  not Nap then 	  y:=y+dy 	 else 	  y:=y-dy; 	  if y>=ClientWidth then Nap:=True;				 //ширина 	  if y<=0 then Nap:=False; 	 end   else 	 Begin 	  if  not Nap then 	 y:=y+dx 	 else 	  y:=y-dx; 	   if y>=ClientHeight then Nap:=True; 	   if y<=0 then Nap:=False; 	 end;   Form1.Canvas.pen.Color:=clBlack;    //telo   Form1.Canvas.Brush.Color:=clGray;   Form1.Canvas.Ellipse(x-100,y-125,x,y); 	//golova   Form1.Canvas.Brush.Color:=clWhite;   Form1.Canvas.Ellipse(x-80,y-160,x-20,y-100); 	 //lapki   Form1.Canvas.Brush.Color:=clBlack;   Form1.Canvas.Ellipse(x-40,y-5,x-15,y+5);   Form1.Canvas.Ellipse(x-60,y-5,x-85,y+5); 	  //glazki   Form1.Canvas.Brush.Color:=clGreen;   Form1.Canvas.Ellipse(x-55,y-125,x-65,y-145);   Form1.Canvas.Ellipse(x-45,y-125,x-35,y-145); 	 //ushki Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-75,y-145); Form1.Canvas.MoveTo(x-85,y-165); Form1.Canvas.LineTo(x-65,y-155); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-25,y-145); Form1.Canvas.MoveTo(x-15,y-165); Form1.Canvas.LineTo(x-35,y-155); 	//nosik   Form1.Canvas.Brush.Color:=clWhite;   Form1.Canvas.Ellipse(x-55,y-120,x-45,y-114);   Form1.Canvas.MoveTo(x-50,y-114);   Form1.Canvas.LineTo(x-50,y-110);   Form1.Canvas.MoveTo(x-55,y-110);   Form1.Canvas.LineTo(x-45,y-110); 	//ruchki  //l   Form1.Canvas.MoveTo(x-65,y-65);   Form1.Canvas.LineTo(x-65,y-55);   Form1.Canvas.LineTo(x-67,y-48);   Form1.Canvas.LineTo(x-70,y-50);   //  Form1.Canvas.LineTo(x-75,y-60); 	 //ruchki  //r   Form1.Canvas.MoveTo(x-35,y-65);   Form1.Canvas.LineTo(x-35,y-55);   Form1.Canvas.LineTo(x-33,y-48);   Form1.Canvas.LineTo(x-30,y-50);  //   Form1.Canvas.LineTo(y-25,y-60); 	 //hvostik   Form1.Canvas.Brush.Color:=clYellow;   Form1.Canvas.MoveTo(x-25,y-5);   Form1.Canvas.LineTo(x+10,y-15);   Form1.Canvas.LineTo(x+25,y-35);   Form1.Canvas.LineTo(x+50,y-120);   Form1.Canvas.Arc(x+50,y-130,x+30,y-110,x+50,y-120,x+30,y-120);   Form1.Canvas.MoveTo(x+30,y-120);   Form1.Canvas.LineTo(x+5,y-35);   Form1.Canvas.LineTo(x-20,y-15); 	//zrachki   Form1.Canvas.brush.Color:=clBlack;   Form1.Canvas.Ellipse(x-58,y-137,x-62,y-133);   Form1.Canvas.Ellipse(x-42,y-137,x-38,y-133);   Timer1.Enabled:=true; end; procedure TForm1.Timer2Timer(Sender: TObject); begin  { N3Click(Sender); } end; end.