void getxy(HANDLE hout,int*i,int*j)//移动光标到指定位置 { int ch; int m,n;//棋子移动时的坐标 do { ch=0; if (kbhit())//kbhit() 是一个C和C++函数,用于非阻塞地响应键盘输入事件,为 “keyboard hit(键盘敲击)”的简写。 //检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。 { ch=getch();//getch() 接受任意键的输入,不用按回车就返回,返回值是输入值的ascll码 } switch(ch) { case 72: *i-=1; break;//上 case 80: *i+=1; break;//下 case 75: *j-=1; break;//左 case 77: *j+=1; break;//右 } if (*i<0) *i=11+*i; if (*i>10) *i=11-*i; if (*j<0) *j=11+*j; if (*j>10) *j=11-*j; m=*j;n=*i; gotoxy(hout,m*2,n); }while (ch!=13); }
时间: 2024-04-07 11:28:21 浏览: 76
javascript 获取鼠标的绝对位置 event
这是一个移动光标到指定位置的函数,使用了键盘输入事件来控制光标的移动,其中:
- HANDLE hout:控制台窗口的句柄。
- int* i, int* j:表示光标当前的位置,通过指针传递,函数内部改变位置的值可以被外部函数获取。
- kbhit():C和C++函数,用于非阻塞地响应键盘输入事件,为 “keyboard hit(键盘敲击)”的简写。检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。
- getch():接受任意键的输入,不用按回车就返回,返回值是输入值的ascll码。
- switch(ch):根据不同的键盘输入事件进行不同的操作,如上下左右移动。
- gotoxy(hout, m*2, n):将光标移动到指定位置,其中m、n为光标的行列坐标,m*2是因为控制台窗口中每个字符占两个位置。直到输入回车键(ch==13)时停止循环。
这段代码可能是用于控制台下的一个棋盘游戏中,用于控制棋子的移动。
阅读全文