Установка задержки для односимвольного пользовательского ввода с зацикленной строкой, который использует bufferedreader в java (программа cmd) - PullRequest
0 голосов
/ 20 февраля 2019

Я пишу программу, представляющую собой базовую игру с 2D-окном команд, которая использует буферизованный читатель с методом .readline () для получения ввода WASD, чтобы определить, в каком направлении будет двигаться «Персонаж» (звездочка).Однако, если игрок ничего не делает, мне нужно, чтобы программа продолжала работать и просто держала персонажа на месте.Все это происходит в цикле, который выглядит примерно так:

  1. определение необходимого движения игрока

  2. определение других необходимых изменений на доске

  3. сменить плату

  4. промыть и повторить.

с остановкой цикла на шаге 1 в любое время, когда пользовательрешает не двигаться.Я прочитал несколько других постов, и большинство из них, похоже, относятся к соединениям клиент-сервер, которые здесь не применимы.В другом посте, который я нашел, казалось, был ответ, но поскольку контекст кода был другим, и я не понимал код из-за своего редкого опыта программирования, я не могу понять, достаточно ли его использовать, чтобы использовать его.

Установить время ожидания для пользовательского ввода

Я не знаю, что делают "Future" и "Executor", хотя я видел, как термин executor часто используется в другом коде, так что есликто-то может даже объяснить эти две вещи в связи с проблемой, это было бы здорово!Я извиняюсь, что у меня нет исходного кода для публикации с этим вопросом, но я действительно не знаю, с чего начать, кроме как создать BufferedReader, который довольно неактуален.

Редактировать: вдобавьте немного больше информации, я планирую получать выходные данные br.readline примерно каждые полсекунды, а затем обновлять, а затем обновлять доску, даже если ничего не было введено.Я думаю, что первым шагом для достижения этой цели является создание какого-либо потока ввода, возможно, отличного от буферизированного чтения, который не требует от пользователя нажимать ввод каждый раз, когда он хочет переместиться или не переместиться, так что, возможно, это было бы лучшедля начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...