0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 185
|
||||||
1 | ||||||
Как правильно работать с функцией _getch() ?05.06.2014, 15:02. Показов 29376. Ответов 6
Метки нет (Все метки)
Ребята, задача такова:
Надо нарисовать фигурку в консоли. И дигать ,по консоли, фигурку стрелочками из клавиатуры. Операторы котрые буду использовать(надо использовать) system("cls") для обновления консоил после каждого движения фигруки. _getch() для перехвата введенной стрелки на консоль и изменения положения фигурки. Первая проблема: не могу разобраться с функцией getch() вроед иматериал нашел и как работает понятно , а код не выпоплняется. пример кода.
сейчас прошу просто сказать почему гетч не рабоатет прогу сам допишу)
0
|
05.06.2014, 15:02 | |
Ответы с готовыми решениями:
6
Как правильно работать с функцией window()? Как работать с getch()? Простая программа Hello world, но с функцией getch() Взаимосвязь правой кнопки мыши с функцией getch |
48 / 37 / 27
Регистрация: 11.02.2014
Сообщений: 134
|
|||||||||||
05.06.2014, 15:16 | 2 | ||||||||||
у стрелочек два кода 224 и 80 например, у вас ловится первое 224, а второе остается в потоке, добавте
0
|
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
||||||
05.06.2014, 15:17 | 3 | |||||
Может не то нажимаете, а WRONG просто не выводится?
0
|
Модератор
13496 / 10751 / 6406
Регистрация: 18.12.2011
Сообщений: 28,688
|
||||||
05.06.2014, 15:18 | 4 | |||||
Сообщение было отмечено MMt как решение
Решение
Для управляющий клавиши передается 2 байта.
Первый код, который читается равен 224, а второй - тот, что у Вас. Поэтому сделайте так
2
|
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 185
|
|
05.06.2014, 16:16 [ТС] | 5 |
dimcoder , пробовал - выводилось, при нажатии любой клавиши.
про choise в курсе лень было редактирвоать пост. Сергей Сергеевич, спасибо. сделал - получилось. Но нифига не опнятно, зачем вы перед инициализацией choise = getch(); предварительно обьявили ф-ю getch()? Отсуда снова вопросы. У топиков со схожей темой описание одно и тоже. Гетсч возвращает 2 числа 224 + значние какую именно стрелку мы отпустили. Соответственно надо использовать _getch() чтобы отловить второе значние и сравнивать свич с уникальным значением стрелки, а не общим 224. ПОЧЕМУ В ВАШЕМ ВАРИАНТЕ СВИЧ СРАВНИВАЕТ СРАЗУ 2 ЗНАЧНИЕ И МЫ НЕ ОТСЕКАЕМ ОБЩЕЕ ЗНАЧНИЕ 224? Думаю ответ будет очень обширным, и воможно у Вас нет времени все подробно объяснить. В таком случае я сам постараюсь разобраться если Вы таыкнете носом в какой книжке и и в какой теме почитать... Книг скачал очен много, но информация во многих дана или узко и довольно специфино (Шилдт справочник по с++ к примеру) или одна тема нарезаеться кругами по всей книге в 2-4 подхода, так что не опнятно с каого конце начинать читать и где начало где конце...
0
|
Модератор
13496 / 10751 / 6406
Регистрация: 18.12.2011
Сообщений: 28,688
|
|
05.06.2014, 16:19 | 6 |
Это ВЫЗОВ функции и запись того, что она возвращает в никуда,
т.к. это значение нам не нужно.
1
|
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 185
|
||||||
06.06.2014, 17:11 [ТС] | 7 | |||||
Написал код для программы. Снова есть вопросы.
0
|
06.06.2014, 17:11 | |
06.06.2014, 17:11 | |
Помогаю со студенческими работами здесь
7
как работать с функцией? Как работать с функцией memchr( ) в С++ Как работать с функцией ранг Как работать с функцией SystemParametersInfo? Как работать с функцией SHGetFileInfoW? Как работать с функцией SystemParametersInfo? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |