在visual studio2019中无法完成输入,该如何修改#include"判断方向.h" #include<iostream> #include<conio.h> #include<Windows.h> #include"蛇的移动.h" using namespace std; void updateWithInput(int(*canvas)[30], int Length, int Width) { int moveDirection = 0; char input; while (_kbhit()) { input = _getch(); } if (_kbhit()) // 判断是否有输入 { input = _getch(); //根据用户的不同输入来移动,不必输入回车 if (input == 'w') { moveDirection = 1;// 位置上移 moveSnakeByDirection(canvas, Length, Width, moveDirection); } else if (input == 's') { moveDirection = 2; // 位置下移 moveSnakeByDirection(canvas, Length, Width, moveDirection); } else if (input == 'a') { moveDirection = 3; // 位置左移 moveSnakeByDirection(canvas, Length, Width, moveDirection); } else if (input == 'd') { moveDirection = 4; // 位置右移 moveSnakeByDirection(canvas, Length, Width, moveDirection); } } }
时间: 2024-03-15 15:41:54 浏览: 63
在Visual Studio中,需要在控制台窗口中开启输入功能才能够使用`_kbhit()`和`_getch()`函数进行键盘输入检测。可以通过以下步骤来开启输入功能:
1. 在Visual Studio中打开项目,选择"项目"菜单,选择"属性"。
2. 在属性页中选择"链接器",然后选择"系统"。
3. 在"子系统"下拉菜单中选择"控制台 (/SUBSYSTEM:CONSOLE)",然后点击"确定"。
4. 在代码中添加头文件`conio.h`,并在需要检测键盘输入的地方使用`_kbhit()`和`_getch()`函数。
修改后的代码如下:
```c++
#include "判断方向.h"
#include <iostream>
#include <conio.h>
#include <Windows.h>
#include "蛇的移动.h"
using namespace std;
void updateWithInput(int(*canvas)[30], int Length, int Width) {
int moveDirection = 0;
char input;
while (_kbhit()) {
input = _getch();
}
if (_kbhit()) {
input = _getch();
if (input == 'w') {
moveDirection = 1;
moveSnakeByDirection(canvas, Length, Width, moveDirection);
}
else if (input == 's') {
moveDirection = 2;
moveSnakeByDirection(canvas, Length, Width, moveDirection);
}
else if (input == 'a') {
moveDirection = 3;
moveSnakeByDirection(canvas, Length, Width, moveDirection);
}
else if (input == 'd') {
moveDirection = 4;
moveSnakeByDirection(canvas, Length, Width, moveDirection);
}
}
}
```
注意:如果你在其他平台或环境下运行程序,可能需要使用不同的检测键盘输入的方法,具体可参考该平台或环境下的相关文档。
阅读全文