c语言如何实现分别通过键盘输入和数字输入控制人物的移动
时间: 2024-12-24 07:28:17 浏览: 13
在C语言中,实现通过键盘输入和数字输入控制人物移动通常涉及到事件驱动编程和用户输入处理。下面是一个简单的例子,展示了如何通过`getch()`函数获取键盘输入,并使用数组或switch-case结构来处理方向键:
```c
#include <stdio.h>
#include <conio.h> // 包含kbhit()和getch()函数
#define LEFT 'a'
#define RIGHT 'd'
#define UP 'w'
#define DOWN 's'
typedef struct {
int x;
int y;
} Character;
void move(Character* char_ptr, char direction) {
switch (direction) {
case LEFT:
char_ptr->x--;
break;
case RIGHT:
char_ptr->x++;
break;
case UP:
char_ptr->y--;
break;
case DOWN:
char_ptr->y++;
break;
default:
printf("Invalid input.\n");
}
}
int main() {
Character player = {0, 0}; // 初始化玩家位置
while (true) {
if (_kbhit()) { // 检查是否有键盘按下
char input = getch(); // 获取输入
move(&player, input); // 根据输入移动角色
}
// 打印角色当前位置
printf("Player at (%d, %d)\n", player.x, player.y);
}
return 0;
}
```
阅读全文