#include<bits/stdc++.h>
#include<windows.h>
#define key(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
int shake[4][4]={{3,0},{0,-3},{-3,0},{0,+3}};
void qmWindows(HWND hwnd,int a,int b,int c,int d){
RECT rect;
GetWindowRect(hwnd,&rect);
MoveWindow(hwnd,rect.left+a,rect.top+b,rect.right-rect.left+c,rect.bottom-rect.top+d,TRUE);
}
void gbc(BOOL a){
HANDLE gb =GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursor_info;
GetConsoleCursorInfo(gb,&cursor_info);
cursor_info.bVisible=a;
SetConsoleCursorInfo(gb,&cursor_info);
}
void move( int x , int y ){
COORD point = { x , y };
HANDLE HOutput = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleCursorPosition(HOutput, point);
}
void ksbj(){
HANDLE a =GetStdHandle(STD_INPUT_HANDLE);
DWORD b;
GetConsoleMode(a,&b);
b &= ~ENABLE_QUICK_EDIT_MODE;
SetConsoleMode(a,b);
}
int main(){
int h=200,w=200;
ksbj();
HWND hwnd=GetForegroundWindow();
SetWindowLong(hwnd, GWL_STYLE,GetWindowLong(hwnd, GWL_STYLE) & ~(WS_CAPTION | WS_SIZEBOX));
long long zq=0;
while(1){
int cx = GetSystemMetrics(SM_CXFULLSCREEN);
int cy = GetSystemMetrics(SM_CYFULLSCREEN);
if(key(VK_LBUTTON)){
POINT p,p1;
GetCursorPos(&p1);
Sleep(5);
int zq1=zq%4;
qmWindows(hwnd,shake[zq1][0],shake[zq1][1],0,0);
zq++;
GetCursorPos(&p);
qmWindows(hwnd,p.x-p1.x,p.y-p1.y,0,0);
continue;
}
RECT rect;
GetWindowRect(hwnd,&rect);
MoveWindow(hwnd,rect.left,rect.top,h,w,TRUE);
int g=4.7,t=0;
int p=20;
if(rect.top<cy-rect.bottom+rect.top+p){
while(rect.top < cy-rect.bottom+rect.top+p){
if(key(VK_LBUTTON))
continue;
GetWindowRect(hwnd,&rect);
t++;
if(rect.top+g*t > cy-rect.bottom+rect.top+p){
MoveWindow(hwnd,rect.left,cy-rect.bottom+rect.top+p,rect.right-rect.left,rect.bottom-rect.top,TRUE);
if(t<=1)t=0;
}
else{
qmWindows(hwnd , 0 , g*t , 0 , 0);
}
Sleep(10);
}
while(t>0){
t--;
if(key(VK_LBUTTON))
continue;
qmWindows(hwnd , 0 , -g*t*0.3 , 0 , 0);
Sleep(10);
}
}
}
}