Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> kill face, moth.. f*** 
:(
    Опции темы
Негодяй
  Дата 25.3.2005, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Порядочный
***


Профиль
Группа: Завсегдатай
Сообщений: 1513
Регистрация: 13.2.2005
Где: Kazakhstan, Almat y

Репутация: нет
Всего: 32



дал мне друг книгу с программами вот одна из них - убить рожу:
Код

unit kill_facePAS;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  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=0;//kolvo щелчков по форме мышью
  p:integer=0;//kolvo popadaniy

implementation

{$R *.dfm}

procedure tform1.PaintFace(x,y:integer);
begin
   with canvas do begin
   Pen.Color:=clblack;
   Brush.Color:=clyellow;
   //рисуем рожу
   ellipse(x,y,x+30,y+30);
   ellipse(x+9,y+10,x+11,y+13);
   ellipse(x+19,y+10,x+21,y+13);
   arc(x+4,y+4,x+26,y+26,x,y+20,x+30,y+20);
   end;
end;

procedure tform1.EraseFace(x,y:integer);
begin
   with canvas do     begin
   Pen.Color:=clbtnface;
   Brush.Color:=clbtnface;

   //стираем
   ellipse(x,y,x+30,y+30);

   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//исходное положение рожи
fx:=100;fy:=100;
randomize;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
EraseFace(fx,fy);
//каждый раз при таймере новое положение рожи
fx:=random(clientwidth-30);
fy:=random(clientheight-30);
paintface(fx,fy);
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 (x<fy+30)
then begin
inc(p);//попадания
end;
if n=10 then
begin
timer1.Enabled:=false;
caption:=inttostr(p);
eraseface(fx,fy);
end;
    end;
end.


у меня вопрос, а что не так раз программа не правильно считывает количество попаданий,
интервал таймера изменял всё тоже самое, но только если в одну и ту же точку попасть при медленном таймере то все попадания сосчитаются?? что за глюки - на фига мне эти муки??
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.