Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Перемещение рисунка





Цель работы -создать программу, в которой на поверхности окна перемещается случайным образом изображение веселой рожицы. Пользователь должен сделать щелчок кнопкой мыши по изображению. Программа должна завершить работу после того, как пользователь сделает 10 щелчков кнопкой мыши.

Начало игры осуществляется по нажатию на кнопку Ok.

Свойство WordWrap компонента Label – признак того, что слова, которые не помещаются в текущей строке, автоматически переносятся на следующую строку (значение свойства AutoSize должно быть False).

 
 

 

 


Листинг программы:

 

unit Unit1;

 

Interface

 

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

 

Type

TForm1 = class(TForm)

Timer: TTimer;

Label1: TLabel;

Button1: TButton;

procedure TimerTimer(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

 

{ объявление процедур помещено сюда,

чтобы процедуры имели прямой доступ

к форме, на которой они рисуют}

 

procedure PaintFace (x,y: integer); {рисует рожицу}

procedure EraseFace(x,y: integer); {стирает рожицу}

end;

 

Var

Form1: TForm1;

fx,fy: integer; { координаты рожицы}

n: integer; { количество щелчков кнопкой мыши}

p: integer; { количество попаданий}

Implementation

 

{ рисует рожицу}

procedure TForm1.PaintFace(x,y: integer);

Begin

Canvas.Pen.Color:= clBlack; { цвет линий}

Canvas.Brush.Color:= clRed; { цвет закраски}

{ рисуем рожицу}

Canvas.Ellipse(x,y,x+30,Y+30); { лицо}

Canvas.Ellipse(x+9,y+10,x+11,y+13); { левый глаз}

Canvas.Ellipse(x+19,y+10,x+21,y+13); { правый глаз}

Canvas.Arc(x+4,y+4,x+26,y+26,x,y+20,x+30,y+20); {улыбка}

end;

 

{ стирает рожицу}

procedure TForm1.EraseFace(x,y: integer);

Begin

{ зададим цвет границы и цвет закраски, совпадающий с цветом формы.}

{ По умолчанию цвет формы - clBtnFace }

Canvas.Pen.Color:= clBtnFace; { цвет окружности}

Canvas.Brush.Color:= clBtnFace; { цвет закраски}

Canvas.Ellipse(x,y,x+30,y+30);

end;

 

{$R *.dfm}

 

procedure TForm1.TimerTimer(Sender: TObject);

Begin

EraseFace(fx,fy);

{ новое положение рожицы}

fx:= Random(ClientWidth-30); { 30 - это диаметр рожицы}

fy:= Random(ClientHeight-30);

PaintFace(fx,fy);

end;

 

procedure TForm1.FormCreate(Sender: TObject);

Begin

{ исходное положение рожицы}

fx:=100;

fy:=100;

Randomize; { инициализация генератора случайных чисел}

end;

 

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

Begin

inc(n); { кол-во щелчков}

 

if (x > fx) and (x < fx+30) and (y > fy) and (y < fy+30)

Date: 2015-09-18; view: 574; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию