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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2012, 14:22   #11
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

Цитата:
Сообщение от RuVarez Посмотреть сообщение
Ну смотри ты пишеш:
Код:
if(imgtruck.left+111)<=576 then
  if not ((imgtruck.Left+111=576) and (imgtruck.Top=328)) then
  if not ((imgtruck.Left+111=112) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=112) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=113) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=114) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=115) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=116) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=117) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=118) and (imgtruck.Top=664)) then
  if not ((imgtruck.Left+111=119) and (imgtruck.Top=664)) then


  if not ((imgtruck.Left+111=112) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=113) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=114) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=115) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=116) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=117) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=118) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=119) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=121) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=122) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=123) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=124) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=125) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=126) and (imgtruck.Top=553))  then

  if not ((imgtruck.Left+111=110) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=111) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=127) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=128) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=115) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=116) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=117) and (imgtruck.Top=553))  then
  if not ((imgtruck.Left+111=120) and (imgtruck.Top=553))  then




  if not ((imgtruck.Left+111=208) and (imgtruck.Top=128))  then

imgtruck.Left:=imgtruck.left+111;
Страшно становится, правда?) Замени это на функцию (ток ее чучуть надо оптимизировать), которую я описал и получится:
Код:
If IsWallNear then
  imgtruck.Left:=imgtruck.left+111;
Короч используй циклы и процедуры с функциями
ок, постараюсь разобраться, спасибо, но главная проблема заключаеться в том чтобы эти действия все записывались в какую-то форму и после нажатия клавиши выполняли действия. например: я нажал 4 раза на стрелочку вверх и нажал закончить построение алгоритма, после чего я просто нажимаю кнопку начать движение, и фигурка двигается. это самая основная проблема(не считая движения)

Последний раз редактировалось zyxel-md; 12.04.2012 в 14:26.
zyxel-md вне форума Ответить с цитированием
Старый 12.04.2012, 14:29   #12
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

Кидай на форму TListBox, потом нажимаю на "начать запись" делай какуето переменную true и при действиях начинай записывать в ListBox! А потом при "начать движения" делай так:
Код:
var SomeStr : String;
for i := 1 to ListBox.Items.Count do
begin
  SomeStr := ListBox.Items.String[i-1];
  if SomeStr = 'Left' then
    MoveLeft; //процедура движения влево
  ...  
end;
и т.д.
RuVarez вне форума Ответить с цитированием
Старый 12.04.2012, 14:34   #13
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

ага спс попробу, а функцию я попробовал сделать, но я не знаю что брать за Wall;
координат квадратика ?
или как ?

ну о движении пока молчу, знаю что я нуб, но мне очень срочно надо написать эту программу до завтра если не осилю то кранты.
zyxel-md вне форума Ответить с цитированием
Старый 12.04.2012, 14:37   #14
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

Извените за вас не могу сделать)
за Wall можно координат квадратика!
Удачи
RuVarez вне форума Ответить с цитированием
Старый 12.04.2012, 14:38   #15
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

Спасибо за помощь
zyxel-md вне форума Ответить с цитированием
Старый 12.04.2012, 21:54   #16
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Советую подробно изучить темку http://programmersforum.ru/showthread.php?t=153883
Очень много вопросов освещено - столкновение со стенами, прохождение трассы по стрелкам, так же всякие подбирания предметов и прочая игровая логика, в т.ч гравитация.
phomm вне форума Ответить с цитированием
Старый 13.04.2012, 10:59   #17
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

большое спасибо посмотрю эту тему, как раз проблема со столкновением
zyxel-md вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с выполнением javascript Ukraine JavaScript, Ajax 1 01.01.2012 00:22
Проблема с разработкой Web-приложений на Delphi - требует DelphiDotNet.Personality. Nikilania Общие вопросы Delphi 2 26.08.2011 09:45
Проблема с выполнением запроса к БД AgentSmit PHP 2 14.04.2011 02:13
Проблема с выполнением скриптов в IE rom@nыч JavaScript, Ajax 7 17.08.2008 18:56
Проблема с выполнением скрипта Seqular HTML и CSS 1 12.08.2007 03:54