某库,暂存

/*
    This scope give out some usual fuctions about tiny games.
    You can free use:
        Locate(x,y);
        Setcolor(COLOR);
        SetConsoleTitle("title");
        system("mode con cols=50 lines=50");
*/

#include
#include

HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord;

HANDLE hCon;
enum Color {
    DARKBLUE = 1,
    DARKGREEN,
    DARKTEAL,
    DARKRED,
    DARKPINK,
    DARKYELLOW,
    GRAY,
    DARKGRAY,
    BLUE,
    GREEN,
    TEAL,
    RED,
    PINK,
    YELLOW,
    WHITE
};

void Setcolor(Color c) {
    if(hCon == NULL)
        hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hCon, c);
}

void Locate(int x,int y) {
    y = y * 2 - 1;
    coord.X=y - 1;
    coord.Y=x - 1;
    SetConsoleCursorPosition(hout,coord);
}
int winx,winy;
void Winset(int x,int y) {
    winx = y;
    winy = x;
    RECT rect;
    HWND hwnd=GetForegroundWindow();
    GetWindowRect(hwnd,&rect);
    int title_high = GetSystemMetrics(SM_CYCAPTION);   //窗口标题栏高度
    int line_wight = GetSystemMetrics(SM_CYSIZEFRAME) 
                    + GetSystemMetrics(SM_CYBORDER);   //窗口边框宽度
    MoveWindow(hwnd,y-line_wight,x-title_high-line_wight,rect.right-rect.left,rect.bottom-rect.top,TRUE);
}
struct Mos {
    int xx,yy;
};
Mos Getmouse() {
    POINT pt;
    GetCursorPos(&pt);
    Mos res;
    int title_high = GetSystemMetrics(SM_CYCAPTION);   //窗口标题栏高度
    int line_wight = GetSystemMetrics(SM_CYSIZEFRAME) 
                    + GetSystemMetrics(SM_CYBORDER);   //窗口边框宽度
    res.yy = (pt.x-winx)/16+1;
    res.xx = (pt.y-winy)/16+1;
    return res;
}
/*
    POINT pt;
    GetCursorPos(&pt);
    cout << "当前的鼠标坐标为:" << pt.x << "," << pt.y << endl;
    system("cls");


       =   4
SM_CXBORDER   =   5
SM_CYBORDER   =   6



GetSystemMetrics(6)   //窗口边框宽度
*/

你可能感兴趣的:(————杂————,小游戏)