struct move_point
{
int x, y;//该点的位置,包括x坐标和y坐标
int xv, yv;//该点在x轴和y轴的速度
};
struct movt_point man
//运动的原理是,先擦支物体先前的轨迹让物体按其速度移动一段距离,再画出该物体
int main()
{
goto xy(man.x, man.y);//把光标移到指定的坐标
printf(" ");//输出 一个空格,把先前的字符擦去
man.x += man.xv;//水平方向按x轴的速度运动
man.y += man.yv;//垂直方向按y轴的速度运动
//运动后还判断物体是否出界,如果出了界,就令物体反弹,即让它下一刻的速度等于现在的速度的相反数
goto xy(man.x, man.y);//打印出笑脸
printf("%c\b", 2);//输出ASCII码值为2 的笑脸字符
//接受按键 方向键 就让笑脸顺着移动 接收ESC 就退出程序 按其它忽略
while (bioskey(1) == 0);//等待按键
key = bioskey(0);//把收到的按键码赋给变量key
//然后有switch语句来判断 并执行相关操作
switch (key) //对变量key的值进行判断
{
case UP: // 按上键
break; // 向上运动 并退出swicth
case DOWN: //下
break; // 向下
case LEFT: // 向左
break;;//
case RIGHT: // 向右
break;//
default:
break;//其它键忽略
}
}