c 设置一个飞机可以上下左右移动
时间: 2024-03-16 09:47:42 浏览: 121
下面是一个简单的示例代码,演示如何使用C语言编写一个可以在控制台窗口中上下左右移动的飞机。
```c
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#define SCREEN_WIDTH 80
#define SCREEN_HEIGHT 25
// 定义飞机结构体
typedef struct {
int x;
int y;
int height;
int width;
} Plane;
// 初始化飞机位置
void init_plane(Plane* plane) {
plane->x = SCREEN_WIDTH / 2;
plane->y = SCREEN_HEIGHT / 2;
plane->height = 3;
plane->width = 4;
}
// 在屏幕上绘制飞机
void draw_plane(Plane plane) {
int i, j;
for (i = 0; i < plane.height; i++) {
for (j = 0; j < plane.width; j++) {
printf("*");
}
printf("\n");
}
}
// 清空控制台窗口
void clear_screen() {
system("cls");
}
// 移动飞机
void move_plane(Plane* plane, int dx, int dy) {
plane->x += dx;
plane->y += dy;
}
int main()
{
Plane plane;
init_plane(&plane);
int key;
do {
clear_screen();
draw_plane(plane);
key = getch();
switch (key) {
case 'w': // 上移
move_plane(&plane, 0, -1);
break;
case 's': // 下移
move_plane(&plane, 0, 1);
break;
case 'a': // 左移
move_plane(&plane, -1, 0);
break;
case 'd': // 右移
move_plane(&plane, 1, 0);
break;
}
} while (key != 'q'); // 按下q键退出循环
return 0;
}
```
上述代码通过定义一个Plane结构体表示飞机的位置和大小,使用函数init_plane初始化飞机位置,使用函数draw_plane在控制台窗口上绘制飞机。使用函数getch获取用户输入的按键,根据按键的类型来移动飞机。最后,使用循环来持续监听用户的按键输入,直到按下q键退出程序。