IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Игра "Убеги от Х", Проблема с игрушкой, написанной на Borland Pascal 7.0
SaheR
сообщение 21.04.2013 20:17
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Здравствуйте, уважаемые форумчане.
Пишу от нечего делать игрушку на Borland Pascal'e 7.0, смысл которой - убегание персонажем (о) от злого бота (х).
Управление:
стрелочки - изменение координат персонажа "о"
кнопка End - выход из "игры"
Перед выходом маленькая задержка (хотя, у кого как - с нынешними процессорами задержка у всех разная)
Однако бот оказался на столько злой, что, почему-то, делает два шага вместо одного.

Собственно, вот код:
Спойлер (Показать/Скрыть)

Уже и так, и сяк пробовал исправить проблему - никак.
Можете натолкнуть на идею?
Исходник с кодом, написанным выше, прикреплён к сообщению.

Сообщение отредактировано: SaheR - 21.04.2013 20:29


Прикрепленные файлы
Прикрепленный файл  GAME.PAS ( 1.67 килобайт ) Кол-во скачиваний: 482
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 25.04.2013 11:12
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Это не бот злой, это игрок добрый.
Делает один шаг вместо двух.
Потому что у тебя считывание клавиш не совсем правильное.
Если хочешь подробности, то гугли сканкоды.

Когда игрок нажимает стрелочку, то в ReadKey поступает не один символ, а два, сначала нулевой, а потом уже 72-75-77-80
На первом символе игрок стоит, на втором движется. А бот движется на обоих.

Правильная организация ввода такая:

keyCode := ReadKey;
case keyCode of
#0 : begin
scanCode := ReadKey;
case scanCode of
// вот тут уже пиши свои 72,75,77,80, это сканкоды
end;
end;
#27 : ... // (например, кнопка esc, у неё не сканкод, а просто)
end;


Сообщение отредактировано: TarasBer - 25.04.2013 11:15


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
SaheR
сообщение 4.06.2013 20:50
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Большое спасибо!

Сообщение отредактировано: SaheR - 4.06.2013 21:02
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 13.11.2014 19:29
Сообщение #4


Гость






игра good.gif good.gif good.gif в паскаль абц идет!
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.03.2024 16:08
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"