C语言编程打地鼠

L..好菇凉 2021-09-18 16:39 468 次浏览 赞 89

最新问答

  • 萨克有声

    刚写好的,打地鼠小。

    功能:每三秒,会在区域随机位置刷出地鼠,鼠标点击地鼠,无论点中与否,地鼠都会立即刷新。

    点中地鼠按你要求计分,点不中记录失败次数,3次失败,结束,显示GAME OVER!

    #include 
    #include
    #include
    #include
    #include
    #include
    #include
    #define gSizek 30//区域大小宽度
    #define gSizeg 20//区域大小高度
    #define gBegin 3//活动区域起始行
    int main()
    {
    int t=0,s0,s1,i,j,count=0,fen=0,row=0,clo=0;
    char gameA[gSizeg][gSizek+1],fSave[10]={0};
    SetConsoleTitle("打地鼠");
    HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄
    INPUT_RECORD inRec;
    DWORD res;
    COORD p0;
    p0.X=0;
    p0.Y=0;

    srand(time(0));
    s0= time(NULL);
    strcpy(gameA[0]," GAME");
    strcpy(gameA[1],"未命中次数:0,计分:000000");
    for(i=gBegin-1;i {
    for(j=0;j {
    if(i>gBegin-1 && i0 && j gameA[i][j]=' ';
    else
    gameA[i][j]=4;
    if(j==gSizek)
    gameA[i][j]=0;
    }
    }
    for(i=0;i printf("%s ",gameA[i]);

    while (1)
    {

    if(t>=3)
    {
    if(row>0 && clo>0)
    gameA[row][clo]=' ';
    row=rand()%(gSizeg-1);
    clo=rand()%(gSizek-1);
    s0= time(NULL);
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);

    if(row<3)
    row=4;
    if(clo<1)
    clo=1;
    gameA[row][clo]=2;
    for(i=0;i {
    //gameA[i][gSizeg+1]=0;
    printf("%s ",gameA[i]);
    }

    }
    if(count==3)
    {
    p0.X=10;
    p0.Y=8;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);
    printf("GAME OVER!");
    break;
    }
    s1= time(NULL);
    t=s1-s0;
    ReadConsoleInput(hInput, &inRec, 1, &res);
    if (inRec.EventType == MOUSE_EVENT && inRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) //鼠标左键
    {
    if(inRec.Event.MouseEvent.dwMousePosition.X==clo && inRec.Event.MouseEvent.dwMousePosition.Y==row)
    {

    if(fen==0)
    fen=1;
    if(fen>999999)
    fen=999999;
    else
    fen=fen*2;

    sprintf(fSave,"%06d",fen);
    gameA[1][18]=0;
    strcat(gameA[1],fSave);
    }
    else
    {
    count++;
    fen=0;
    gameA[1][11]=count+'0';
    }
    t=4;
    }
    }
    while(1);
    return 0;
    }

    浏览 445赞 160时间 2023-07-12
  • 芝士大人

    你不能用sleep,sleep程序停止运行,你应该用计时

    浏览 172赞 109时间 2023-01-12
  • 遥遥望沙飞

    小 给段打地鼠C语言

    浏览 500赞 115时间 2022-04-27

C语言编程打地鼠