控制一个*星号.按左就往左边走,按右就往右边走.上就往上走,下不用说了吧···DEVC++通过.
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/27 11:23:57
控制一个*星号.按左就往左边走,按右就往右边走.上就往上走,下不用说了吧···DEVC++通过.
控制一个*星号.
按左就往左边走,按右就往右边走.
上就往上走,下不用说了吧···
DEVC++通过.
控制一个*星号.按左就往左边走,按右就往右边走.上就往上走,下不用说了吧···DEVC++通过.
lz 你好
这个主要是要用到conio.h中的getch()函数来获取键盘按键值
之后就是控制问题了
以下是详细代码和注释:(c语言版)
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define VK_UP 72 //按键上
#define VK_DOWN 80//按键下
#define VK_LEFT 75//按键左
#define VK_RIGHT 77//按键右
int row=0, col=0;//星号的位置(行标和列标) 初始化(0,0)
//将*移动到指定新位置
void move_to()
{
\x05int i,j;
\x05system("cls");//刷屏
\x05//先移动到指定行
\x05for(i=0; i<row; i++)
\x05{
\x05\x05printf("\n");
\x05}
\x05//再移动到指定列
\x05for(j=0; j<col; j++)
\x05{
\x05\x05printf(" ");
\x05}
\x05printf("*");
}
//移动操作
void move(int direction)
{
\x05//根据方向来确定走向的行列标row、col 以控制*的位置
\x05switch(direction)
\x05{
\x05case VK_UP:
\x05\x05if(row)
\x05\x05{
\x05\x05\x05row--;
\x05\x05}
\x05\x05break;
\x05case VK_DOWN:
\x05\x05row++;
\x05\x05break;
\x05case VK_LEFT:
\x05\x05if(col)
\x05\x05{
\x05\x05\x05col--;
\x05\x05}
\x05\x05break;
\x05case VK_RIGHT:
\x05\x05col++;
\x05\x05break;
\x05}
\x05//移动到指定位置
\x05move_to();
}
int main()
{
\x05int dir;//方向
\x05move_to();
\x05while(1)
\x05{
\x05\x05dir = getch();//获取键盘按键值
\x05\x05move(dir);
\x05}
\x05return 0;
}
运行截图: