Не двигается((( |
Не двигается((( |
justix |
19.12.2011 12:17
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Мне нужно движение вне массива,так как сам герой у меня больше блоков.Вроде всё прописал а он не двигается.
вот код,подскажите в чём ошибка пожалуйста. uses graph,crt; Сообщение отредактировано: justix - 19.12.2011 15:49 |
TarasBer |
19.12.2011 12:58
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
А ты перерисовываешь новые положения? Или один раз нарисовал, а потом координаты меняешь?
-------------------- |
justix |
19.12.2011 14:21
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
А ты перерисовываешь новые положения? Или один раз нарисовал, а потом координаты меняешь? Procedure upr_move(var x,y:integer;dx,dy:integer;p:pointer); begin ch:=readkey; if ch=#0 then begin ch:=readkey; putimage(x,y,p^,xorput); <----стёр в старом положении Case ch of left: x:=x-dx; right: x:=x+dx; up: y:=y-dy; down:y:=y+dy; end; putimage(x,y,p^,xorput); <---нарисовал уже в новом end; end; Ну вроде рисую Добавлено через 18 мин. Procedure upr_move(var x,y:integer;dx,dy:integer;p:pointer); begin ch:=readkey; if ch=#0 then begin ch:=readkey; putimage(x,y,p^,xorput); <----стёр в старом положении Case ch of left: x:=x-dx; right: x:=x+dx; up: y:=y-dy; down:y:=y+dy; end; putimage(x,y,p^,xorput); <---нарисовал уже в новом end; end; Ну вроде рисую А вроде у меня он просто напросто клавиатуру не отслеживаетОоПотому что другие самые простенькие программы он и там не двигает и даже интер и ескейп не робятОо Сообщение отредактировано: justix - 19.12.2011 14:24 |
TarasBer |
19.12.2011 15:10
Сообщение
#4
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Так ты отладку запусти.
Допиши что-нибудь в код обработки нажатия клавиши, чтобы было сразу видно, что это произошло. Поставь там точку прерывания программы. И используй же теги! А то неформатированный код читать невозможно. -------------------- |
justix |
19.12.2011 15:25
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Так ты отладку запусти. Допиши что-нибудь в код обработки нажатия клавиши, чтобы было сразу видно, что это произошло. Поставь там точку прерывания программы. И используй же теги! А то неформатированный код читать невозможно. Извини,как теги использовать не знаю((( И как отладку делать с чем то дописыванием в код обработки нажатия клавиши,подскажи пожалуйста. Сообщение отредактировано: justix - 19.12.2011 15:28 |
TarasBer |
19.12.2011 15:33
Сообщение
#6
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> Извини,как теги использовать не знаю(((
Ну блин, перед кодом пишешь {code=pas} (только скобочки квадратные, а не круглые) а после - {/code} Или выделяешь код и нажимаешь на жирную надпись CODE, что над формой ответа, выбираешь Pascal > И как отладку делать с чем то дописыванием в код обработки нажатия клавиши,подскажи пожалуйста. Ну ставишь курсор на нужную строчку и дальше жмёшь Debug->Breakpoints-> Add Breakpoint. Всё, теперь программа будет останавливаться при достижении этой строчки. -------------------- |
justix |
19.12.2011 15:47
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
> Извини,как теги использовать не знаю((( Ну блин, перед кодом пишешь {code=pas} (только скобочки квадратные, а не круглые) а после - {/code} Или выделяешь код и нажимаешь на жирную надпись CODE, что над формой ответа, выбираешь Pascal > И как отладку делать с чем то дописыванием в код обработки нажатия клавиши,подскажи пожалуйста. Ну ставишь курсор на нужную строчку и дальше жмёшь Debug->Breakpoints-> Add Breakpoint. Всё, теперь программа будет останавливаться при достижении этой строчки. Тааак,и что мне это должно дать? поставил где в процедуре Upr_move "ch:=readkey;" запустилось и показалась ошибка.ВсёОо |
TarasBer |
19.12.2011 15:48
Сообщение
#8
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Что за ошибка, что написано?
-------------------- |
justix |
19.12.2011 15:51
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
|
TarasBer |
19.12.2011 16:02
Сообщение
#10
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
А если убрать точку остановки (то есть сам текст кода не трогать, только само красное выделение убрать), то всё работает нормально?
Сообщение отредактировано: TarasBer - 19.12.2011 16:03 -------------------- |
justix |
19.12.2011 16:04
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
|
TarasBer |
19.12.2011 16:11
Сообщение
#12
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Впервые вижу такое, чтобы точка остановки заставляла программу вылетать.
Короче, я чуть позже попробую запустить твою программу (сейчас не могу), отпишусь. -------------------- |
justix |
19.12.2011 16:16
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Впервые вижу такое, чтобы точка остановки заставляла программу вылетать. Короче, я чуть позже попробую запустить твою программу (сейчас не могу), отпишусь. я думаю это связано с самим паскалем,мб не такой какой то. Давай я те тогда папку с картинками скину чтоб спокойно запускал? |
TarasBer |
19.12.2011 16:19
Сообщение
#14
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Папку заархивируй и тоже сюда выложи.
(я не могу запускать, потому что винда блин семёрка) -------------------- |
justix |
19.12.2011 16:29
Сообщение
#15
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
Папку заархивируй и тоже сюда выложи. (я не могу запускать, потому что винда блин семёрка) Прикрепленные файлы levl1.rar ( 46.42 килобайт ) Кол-во скачиваний: 240 |
-TarasBer- |
19.12.2011 17:47
Сообщение
#16
|
Гость |
У тебя какая версия Паскаля?
Потому что у меня на ТП-7 твои файлы читаются неверно, на экране фигня. |
justix |
19.12.2011 18:03
Сообщение
#17
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
|
IUnknown |
20.12.2011 10:37
Сообщение
#18
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
justix, скажи, ты когда что-то выкладываешь, ты вообще задумываешься, ответят тебе, или нет? Тебе это важно? Судя по содержимому архива - не очень: ты в первом посте привел код, для которого надо по меньшей мере в ТРИ РАЗА больше картинок, чем есть у тебя в проекте!!! В чем смысл? Выложить EXE-шник, и думать, что кто-то его будет запускать? Толку от этого - ноль, нужно видеть код, чтоб сказать, в чем проблема.
Либо выкладывай ИСХОДНИК (со всеми необходимыми файлами для успешной компиляции и запуска), либо до свидания... P.S. для того, чтобы при использовании FPC модуль CRT отслеживал нажатие клавиш, фокус ввода должен быть на консольном окне, а не на графическом. Или надо использовать WinGraph + WinCRT. Сообщение отредактировано: IUnknown - 20.12.2011 10:42 |
justix |
20.12.2011 17:02
Сообщение
#19
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: 0 |
justix, скажи, ты когда что-то выкладываешь, ты вообще задумываешься, ответят тебе, или нет? Тебе это важно? Судя по содержимому архива - не очень: ты в первом посте привел код, для которого надо по меньшей мере в ТРИ РАЗА больше картинок, чем есть у тебя в проекте!!! В чем смысл? Выложить EXE-шник, и думать, что кто-то его будет запускать? Толку от этого - ноль, нужно видеть код, чтоб сказать, в чем проблема. Либо выкладывай ИСХОДНИК (со всеми необходимыми файлами для успешной компиляции и запуска), либо до свидания... P.S. для того, чтобы при использовании FPC модуль CRT отслеживал нажатие клавиш, фокус ввода должен быть на консольном окне, а не на графическом. Или надо использовать WinGraph + WinCRT. да у меня в архиве всё как бе есть.... А как сделать чтоб на консольном был? |
IUnknown |
20.12.2011 17:18
Сообщение
#20
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата да у меня в архиве всё как бе есть.... "Как бэ" - это к окулисту. Вот содержимое твоего архива:Где все выделенные файлы? Где исходник? Отсутствуют. Цитата А как сделать чтоб на консольном был? На панели задач выбрать окно FPC, а не "Graph Window Application", тогда фокус будет на консольном окне, и кнопки будут читаться (для запуска пришлось закомментировать в коде все, что касается отсутствующих картинок)Но лучше все-таки сделать свое приложение графическим (вообще не имеющим консольного окна) и работать с ним через WinGraph/WinCRT... |
Текстовая версия | 29.09.2024 8:01 |