看不懂这段代码写了什么 求助大佬加注释
int move()
{ //控制虚拟键盘的指针移动函数
int i, k, flag = 1;
char ch, ch1, ch2;
while (ch != ' ')
{
ch = getch();
if (if_game == 2 && ch != ' ')
flag = 0;
if (ch != 'w' && ch != 'a' && ch != 's' && ch != 'd' && ch != -32 && ch != ' ')
continue;
lx = x, ly = y;
if (ch == -32)
{ //同时启用wasd 和上下左右键 //如果读取到第一个是-32那么 继续读取一个字符
ch1 = getch();
switch (ch1)
{
case 72:
ch = 'w';
break;
case 75:
ch = 'a';
break;
case 80:
ch = 's';
break;
case 77:
ch = 'd';
break;
}
}
if (if_game != 2)
system("color 70");
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 07);
gotoxy(0, tx);
printf("%s", map[tx]);
switch (ch)
{
case 'a':
y = y - 1;
break;
case 'd':
y = y + 1;
break;
case 'w':
x = x - 1;
break;
case 's':
x = x + 1;
break;
case ' ':
break;
}
if (keyboard[x][y] == 0)
{
x = lx;
y = ly;
}
num = board_place[keyboard[x][y]][2];
tx = board_place[keyboard[x][y]][3];
ty = board_place[keyboard[x][y]][4];
gotoxy(ty, tx);
for (i = 0; i < num; i++)
{
if (qpz == 1)
{
printf(" ");
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 57);
printf("%c", temp[i]);
}
}
if (if_game == 2)
break;
}
if (if_game != 2)
system("color 70");
if (if_game == 2 && ch == ' ')
ch = ' ';
if (board_place[keyboard[x][y]][0] == 0 || flag == 0)
return 0;
else if (board_place[keyboard[x][y]][0] >= 1 && board_place[keyboard[x][y]][0] <= 9)
{
function = board_place[keyboard[x][y]][0];
/*gotoxy(0,41);
printf("%d",board_place[ keyboard[x][y] ][0]);*/
return 2;
}
else
{
letter = if_shift ? board_place[keyboard[x][y]][1] : board_place[keyboard[x][y]][0];
/*gotoxy(0,41);
printf("%c",board_place[ keyboard[x][y] ][0]);*/
return 1;
}
}
}
你是整段都看不懂,还是具体某一段、某一句、某个变量看不懂啊
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
那么这时候,你该自学C++了,望采纳,不懂的可以关注私信我。
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y