2016-08-10 2 views
-3

Можно ли использовать _getch() или cin или любую функцию ввода внутри оператора if? Я пытаюсь создать очень простую змеиную игру с использованием C++, мне нужно заставить змею двигаться, но я хочу взять направление от пользователя, пока змея все еще движется. Я использую визуальную студию на окнах. if(_getch())Можно ли использовать _getch() или cin или любую функцию ввода внутри оператора if?

+2

Что случилось, когда вы попробовали? – DimChtz

+0

Знаете ли вы, что означает 'if'? Он не существует, поэтому вы можете поместить ';' непосредственно после него. – LogicStuff

+0

Да, но это не настоящая проблема. @LogicStuff –

ответ

1

выражения, foo, скажем, в if(foo) действует, если типа выражения foo имеет действительное преобразование в bool типа.

Учитывая, что _getch() возвращает интегральный вид, это является поэтому можно написать if(_getch()). if будет оценивать значение true, если _getch() возвращает ненулевое значение и false в противном случае.

+0

Это означает, что C++ позволяет это, но на самом деле это не имеет смысла. '_getch' возвращает 0 только в том случае, если используется клавиша со стрелкой на цифровой части клавиатуры, а затем за ней следует направление. Но этот случай нужно сочетать с возвращаемым 224 символом '_getch' для обычных клавиш со стрелками. – MSalters

Смежные вопросы