手速大挑战 v 1.2 版本

· · 个人记录

手速大挑战

开发组:xiao999yao

#include<bits/stdc++.h>
#include<windows.h>
#define kd(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
void noedit(){
    HANDLE hStdin=GetStdHandle(STD_INPUT_HANDLE);
    DWORD mode;
    GetConsoleMode(hStdin,&mode);
    mode&=~ENABLE_QUICK_EDIT_MODE;
    mode&=~ENABLE_INSERT_MODE;
    mode&=~ENABLE_MOUSE_INPUT;
    SetConsoleMode(hStdin,mode);
}
void HideCursor(){
    CONSOLE_CURSOR_INFO cur={1,0};
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cur);
}
void NoChangeConsoleSize(){
    SetWindowLongPtrA(GetConsoleWindow(), GWL_STYLE, GetWindowLongPtrA(GetConsoleWindow(),GWL_STYLE)& ~WS_SIZEBOX & ~WS_MAXIMIZEBOX);
}
void game_init(){
    system("mode con cols=43 lines=21");
    noedit();
    HideCursor();
    NoChangeConsoleSize();
}
void gotoxy(short x, short y){
    COORD pos={x,y};
    HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hOut,pos);
    return;
}
double y;
int lv;
bool kdn;
int main(){
    game_init();
    puts("            ---手速大挑战---\n");
    puts("     ---作者:1062722(洛谷 uid)---\n");
    puts("  玩法介绍:");
    puts("  按空格键飞的更高");
    puts("  每过 10 点高度加一个等级");
    puts("  等级越高,高度下降的就越多");
    puts("");
    putchar(' ');putchar(' ');
    system("pause");
    system("cls");
    while(1){
        gotoxy(0,0);
        if(!kd(VK_SPACE))kdn=0;
        if(!kdn&&kd(VK_SPACE))y++,kdn=1;
        y-=lv/100.0;
        lv=y/10;
        puts("目前高度:");
        printf("%.2f ",y);
        puts("\n目前等级:");
        printf("%d ",lv);
        Sleep(1);
    }
    return 0;
}

编译配置:

TDM-GCC 随意版本 64-bit Release,无需多余配置

附:

正常人可以到等级 10,厉害的可以到 13,13 以上的基本就是外星人了(音游人除外)

我的顶配连点器干到了 86(

更新日志:

更新:on 2024/12/2 : 1.0 版本\ 更新:on 2024/12/2 : 1.1 版本,隐藏光标和关闭了快速编辑模式与快速插入模式,优化了游玩体验\ 更新:on 2024/12/3 : 1.2 版本,隐藏了最大化按钮并使窗口不能改变大小,优化了游玩体验