Помощь - Поиск - Пользователи - Календарь
Полная версия: Игра "Убеги от Х"
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
SaheR
Здравствуйте, уважаемые форумчане.
Пишу от нечего делать игрушку на Borland Pascal'e 7.0, смысл которой - убегание персонажем (о) от злого бота (х).
Управление:
стрелочки - изменение координат персонажа "о"
кнопка End - выход из "игры"
Перед выходом маленькая задержка (хотя, у кого как - с нынешними процессорами задержка у всех разная)
Однако бот оказался на столько злой, что, почему-то, делает два шага вместо одного.

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

Уже и так, и сяк пробовал исправить проблему - никак.
Можете натолкнуть на идею?
Исходник с кодом, написанным выше, прикреплён к сообщению.
TarasBer
Это не бот злой, это игрок добрый.
Делает один шаг вместо двух.
Потому что у тебя считывание клавиш не совсем правильное.
Если хочешь подробности, то гугли сканкоды.

Когда игрок нажимает стрелочку, то в 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;
SaheR
Большое спасибо!
Гость
игра good.gif good.gif good.gif в паскаль абц идет!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.