请为这段代码加详细的注释

看不懂这段代码写了什么 求助大佬加注释

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