bool getmove(NODE chessboard[][17]) // 获取光标移动,并响应,当按下悔棋、下子、退出热键时,返回true
{
char c;
for (;;)
{//循环开始
c = getch();
if (c == -32)
switch (getch())
{
case 72: // 上
cursor.x--;
if (cursor.x < 1)
cursor.x = 1;//就是不能越界
renew(chessboard, cursor.x + 1, cursor.y);
renew(chessboard, cursor.x, cursor.y);
break;
case 80: // 下
cursor.x++;
if (cursor.x > 15)
cursor.x = 15;
renew(chessboard, cursor.x - 1, cursor.y);
renew(chessboard, cursor.x, cursor.y);
break;
case 75: // 左
cursor.y--;
if (cursor.y < 1)
cursor.y = 1;
renew(chessboard, cursor.x, cursor.y + 1);
renew(chessboard, cursor.x, cursor.y);
break;
case 77: // 右
cursor.y++;
if (cursor.y > 15)
cursor.y = 15;
renew(chessboard, cursor.x, cursor.y - 1);
renew(chessboard, cursor.x, cursor.y);
break;
}
else if (c == 27) { //退出
quit = true;
return true;
}
else if (c == 13 && chessboard[cursor.x][cursor.y].step == 0)
return true; // 下子
else if (c == 'U' || c == 'u') { // 悔棋
regret = true;
return true;
}
}//循环结束
}
那个C=-32是什么意思啊,既然C都等于-32了,怎么后面switch还能选择其他情况啊?