控制一个*星号.按左就往左边走,按右就往右边走.上就往上走,下不用说了吧···DEVC++通过.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 07:41:19

控制一个*星号.按左就往左边走,按右就往右边走.上就往上走,下不用说了吧···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;
}


运行截图:




控制一个*星号.按左就往左边走,按右就往右边走.上就往上走,下不用说了吧···DEVC++通过. 左边一个走右边一个卜, 左边一个走字儿右边一个同这个字读啥 左边一个走,又边一个赞念啥,啥意思 VB中怎样用星号画一个圆 一个“走”,一个“赞”念什么啊.组词是~行.左边是走,右边是赞 股票名称前面加一个星号是什么意思?一个星号加一个ST, 走+回 是一个字 念什么 (走在左边 回在右边) 上面一个“木”,下面一个“日”读什么字左边一个“走”,右边一个“列”读什么?左边一个“走”,右边一个“且”读什么? 一个走之旁一个于字怎么读?左边一个走之旁右边一个于字怎么读? 用C语言表示:编写一个函数,打印一串星号,星号的数量由参数决定., 左边大写的走字右边回字是什么字?左边就是走字不是走之儿 右边是一个回字 左边一个走之旁 右边一个日 念什么字?左边一个走之旁 右边一个月 念什么字? 左边一个走字 右边一个次字 念什么?左边一个“走”字 右边一个“次”字 这个字念什么呀? 左边一个三点水 又上边一个巡去掉走之底 右下边一个田 用VF编程 显示星号 一行显示一个星号,二行显示3个星号,三行显示5个星号,四行显示7个星号最好用for循环语句 左边一个走字,右边一个俞字,和在一起念什么? 左边一个走之旁右边一个孙字这个字怎么读?