Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2011, 14:58   #1
polarity
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 30
Восклицание Игра "Гонки"

Здраствуйте.

Вообщем задание курсовой написать игру гонки. Возникла проблема :
http://s52.radikal.ru/i138/1103/00/b383b5c19f5c.jpg
Как видно, гейм овер наступает не в нужный момент. Работает если сталкиваются в лоб, но так же срабатывает если я перестраиваюсь на соседнюю полосу.

Код таймера, задающего движение встречной машины и проверяющий наличие аварии :

Код:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  image7.Top:=image7.Top+ 15;
 if (image7.Top+image7.Height)>(image5.Top) then
   if (image7.Left+1<=image5.Left) and (image5.Left<=(image7.Left+image7.Width-1))
    then GameOver;
 if (image7.Top+image7.Height)>(image5.Top) then
   if (image7.Left+1<=(image5.Left+image5.Width)) and ((image5.Left+image5.Width)<=(image7.Left+image7.Width-1))
       then GameOver;
 If  image7.Height>=(Form1.ClientHeight) then
 begin
        image7.Hide;
       image7.Top:=1;
        repeat
         image7.Left:=PositionCar;
        until (image7.Left>10);
        image7.Show;
 end;
end;
где image7 - это встречный автомобиль, а image5 - автомобиль игрока. Подскажите что не так?

Последний раз редактировалось AlDelta; 10.03.2011 в 15:09.
polarity вне форума Ответить с цитированием
Старый 11.03.2011, 13:49   #2
polarity
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 30
По умолчанию

никто не знает?)
polarity вне форума Ответить с цитированием
Старый 11.03.2011, 14:13   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,085
По умолчанию

Код:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  image7.Top:=image7.Top+ 15;
 if ((image7.Top + image7.Height) >= image5.Top) and
    (image7.Top <= (image5.Top + image5.Height))and
    ((image7.Left + image7.Width) >= image5.Left) and
    (image7.Left <= image5.Left + image5.Width)
 then GameOver;
 If  image7.Height>=(Form1.ClientHeight) then
 begin
        image7.Hide;
       image7.Top:=1;
        repeat
         image7.Left:=PositionCar;
        until (image7.Left>10);
        image7.Show;
 end;
end;
pu4koff вне форума Ответить с цитированием
Старый 11.03.2011, 14:39   #4
polarity
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 30
По умолчанию

pu4koff, большое спасибо - очень помог!
polarity вне форума Ответить с цитированием
Старый 30.12.2011, 17:00   #5
glebast
Форумчанин
 
Аватар для glebast
 
Регистрация: 10.12.2011
Сообщений: 154
Радость

Слушай, а ты не мог бы скинуть исходник. Я тоже хочу сделать что-то типо
таких гоночек, но у меня не получается. Я был бы очень благодарен.
glebast вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовые задания при устройстве на работу. "Гонки кнопок", разные потоки. Casper-SC Свободное общение 4 12.11.2010 13:15
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Почти готовые "гонки" Ulex Gamedev - cоздание игр: Unity, OpenGL, DirectX 11 20.09.2008 21:48
Игра "четный" "нечетный" bigcat Помощь студентам 1 01.03.2008 00:24