社区讨论

加速器二问

灌水区参与者 7已保存回复 25

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
25 条
当前快照
1 份
快照标识符
@m04w4jvu
此快照首次捕获于
2024/08/22 14:17
2 年前
此快照最后确认于
2025/11/05 00:37
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
double a;
int lx,ly,ac;
int main()
{
	POINT p;
	printf("鼠标加速器\n");
	printf("输入0获得更多加速\n");
	printf("输入一个加速率(一个1以内的小数):");
	scanf("%lf",&a);
	if(a!=0) ac=100-a*100;
	else{printf("输入加速倍数:");scanf("%d",ac);}
	system("pause");
	GetCursorPos(&p);
	int lx=p.x;
	int ly=p.y;
	while(1)
	{
		GetCursorPos(&p);
		int x=p.x;
		int y=p.y;
		cout<<lx<<" "<<ly<<" "<<x<<" "<<y<<endl;
		if(a!=0){
			if(x-lx>=ac){SetCursorPos(x+((x-lx)/ac),y);lx=x+((x-lx)/ac);} 
			if(lx-x>=ac){SetCursorPos(x-((lx-x)/ac),y);lx=x-((lx-x)/ac);} 
			if(ly-y>=ac){SetCursorPos(x,y-((ly-y)/ac));ly=y-((ly-y)/ac);}
			if(y-ly>=ac){SetCursorPos(x,y+((y-ly)/ac));ly=y+((y-ly)/ac);}
		} else {
			if(x-lx>=ac){SetCursorPos(x+(ac-1)*((x-lx)/ac),y);lx=x+(ac-1)*((x-lx)/ac);} 
			if(lx-x>=ac){SetCursorPos(x-(ac-1)*((lx-x)/ac),y);lx=x-(ac-1)*((lx-x)/ac);} 
			if(ly-y>=ac){SetCursorPos(x,y-(ac-1)*((ly-y)/ac));ly=y-(ac-1)*((ly-y)/ac);}
			if(y-ly>=ac){SetCursorPos(x,y+(ac-1)*((y-ly)/ac));ly=y+(ac-1)*((y-ly)/ac);}
		}
	}
	return 0;
}
为什么更多加速会RE捏?

回复

25 条回复,欢迎继续交流。

正在加载回复...