轉載至百度知道的用戶:cleansnow
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
int main()
{
char c;
int x,y,i,j;
x=0;
y=0;
while(1)
{
if((c=getch())<0)//第一次調用的值為-32
c=getch();//第二次調用的值為方向鍵的值
switch(c)
{
case 72:
if(y>0) y=y-1;//上移
break;
case 75:
if(x>0) x=x-1;//左移
break;
case 77:
if(x<79) x=x+1;//右移,上限為79列
break;
case 80:
if(y<24) y=y+1;//下移,上限為24行
break;
default:
break;
}
system("cls");//清屏
//第一次按鍵盤,選擇按上鍵的時候 y = 0,不滿足 y > 0的條件,不換行
//第一次按鍵盤,選擇按下鍵的時候 y = 1,滿足y > 0的條件,換行
//先判斷是否下移,計算要下移到第y行,再通過y次換行下移到第y行
for(j=0;j<y;j++)//第一行第y個位置換行
{
printf("換了%d行",y);
printf("\n");
}
//先判斷是否右移,計算右移到第幾列,在打印幾個空格
for(i=0;i<x;i++)//第x行空格
printf(" ");
//光標的位置打印字符
printf("*");
}
}