検索

ホームページ  >  に質問  >  本文

C++能不能在屏幕的任意位置上输出?不用ncurses

如题题题题题题。

怪我咯怪我咯2807日前566

全員に返信(2)返信します

  • 黄舟

    黄舟2017-04-17 13:18:57

    你想想ncurse是怎么实现的……
    不过话说回来,ncurse帮你干了一大堆脏活,如果你不用ncurse,这些脏活就得自己干了。

    返事
    0
  • 黄舟

    黄舟2017-04-17 13:18:57

    题主应该能满意

    #include <stdio.h>
    #include <windows.h>
    #define N 50
    HANDLE hConsole;
    void gotoxy(int x, int y)
    {
        COORD coord;
        coord.X = x;
        coord.Y = y;
        SetConsoleCursorPosition(hConsole, coord);
    }
    int main()
    {
        int i,j,k;
        hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_INTENSITY);
        for(k=0;k<3;k++)
        {
            gotoxy(4,6);
    
            for(i = 0;i<11;i ++)
    
            {
                printf("*");
                Sleep(N);
    
            }
    
            for(i = 0;i<12;i++)
            {
                gotoxy(9,7+i);
                printf("*");
                Sleep(N);
            }
            gotoxy(4,18);
            for(i = 0;i<11;i ++)
            {
                printf("*");
                Sleep(N);
            }
            gotoxy(36,10);
            printf("*");
            Sleep(N);
    
            gotoxy(25,10);
            printf("*");
            Sleep(N);
    
            gotoxy(47,10);
            printf("*");
            Sleep(N);
    
            gotoxy(34,8);
            printf("*");
            Sleep(N);
    
            gotoxy(38,8);
            printf("*");
            Sleep(N);
    
            gotoxy(30,7);
            printf("*");
            Sleep(N);
    
            gotoxy(42,7);
            printf("*");
            Sleep(N);
    
            gotoxy(27,8);
            printf("*");
            Sleep(N);
    
            gotoxy(45,8);
            printf("*");
            Sleep(N);
    
            gotoxy(25,11);
            printf("*");
            Sleep(N);
    
            gotoxy(47,11);
            printf("*");
            Sleep(N);
            for(i=1,j=1;i<6,j<6;i++,j++)
            {
                gotoxy(25+i,11+j);
                printf("*");
                Sleep(N);
            }
            gotoxy(32,17);
            printf("*");
            Sleep(N);
    
            gotoxy(34,18);
            printf("*");
            Sleep(N);
    
    
            for(i=1,j=1;i<6,j<6;i++,j++)
            {
                gotoxy(47-i,11+j);
                printf("*");
                Sleep(N);
            }
            gotoxy(40,17);
            printf("*");
            Sleep(N);
    
            gotoxy(38,18);
            printf("*");
            Sleep(N);
    
            gotoxy(36,19);
            printf("*");
            Sleep(N);
            for(i=0;i<11;i++)
            {
                gotoxy(59,6+i);
                printf("*");
                Sleep(N);
            }
            gotoxy(61,17);
            printf("*");
            Sleep(N);
            for(i=0;i<11;i++)
            {
                gotoxy(63+i,18);
                printf("*");
                Sleep(N);
            }
            gotoxy(74,17);
            printf("*");
            Sleep(N);
    
            gotoxy(76,16);
            printf("*");
            Sleep(N);
            for(i=0;i<10;i++)
            {
                gotoxy(76,15-i);
                printf("*");
                Sleep(N);
            }
            system("cls");
        }
        while(1)
        {
            gotoxy(4,6);
    
            for(i = 0;i<11;i ++)
    
            {
                printf("*");
    
    
            }
    
            for(i = 0;i<12;i++)
            {
                gotoxy(9,7+i);
                printf("*");
    
            }
            gotoxy(4,18);
            for(i = 0;i<11;i ++)
            {
                printf("*");
    
            }
            gotoxy(36,10);
            printf("*");
    
    
            gotoxy(25,10);
            printf("*");
    
    
            gotoxy(47,10);
            printf("*");
    
    
            gotoxy(34,8);
            printf("*");
    
    
            gotoxy(38,8);
            printf("*");
    
    
            gotoxy(30,7);
            printf("*");
    
            gotoxy(42,7);
            printf("*");
    
    
            gotoxy(27,8);
            printf("*");
    
    
            gotoxy(45,8);
            printf("*");
    
    
            gotoxy(25,11);
            printf("*");
    
    
            gotoxy(47,11);
            printf("*");
    
            for(i=1,j=1;i<6,j<6;i++,j++)
            {
                gotoxy(25+i,11+j);
                printf("*");
    
            }
            gotoxy(32,17);
            printf("*");
    
    
            gotoxy(34,18);
            printf("*");
    
    
    
            for(i=1,j=1;i<6,j<6;i++,j++)
            {
                gotoxy(47-i,11+j);
                printf("*");
    
            }
            gotoxy(40,17);
            printf("*");
    
    
            gotoxy(38,18);
            printf("*");
    
    
            gotoxy(36,19);
            printf("*");
    
            for(i=0;i<11;i++)
            {
                gotoxy(59,6+i);
                printf("*");
    
            }
            gotoxy(61,17);
            printf("*");
    
            for(i=0;i<11;i++)
            {
                gotoxy(63+i,18);
                printf("*");
    
            }
            gotoxy(74,17);
            printf("*");
            Sleep(100);
            gotoxy(76,16);
            printf("*");
    
            for(i=0;i<10;i++)
            {
                gotoxy(76,15-i);
                printf("*");
    
            }
            gotoxy(25,22);
            Sleep(1000);
            system("cls");
        }
    }
    
    ![clipboard.png](/img/bVrTqP)
    

    返事
    0
  • キャンセル返事