您的位置:首页 > 其它

农场工具程序设计(二)

2009-11-22 09:21 134 查看
首先声明:本人设计和开发这个程序没有任何商业目的,完全是用于学习交流!程序的主要设计思路为模拟鼠标操作,没有截取任何商业信息,无病毒、无木马!没有损害他人利益,只是一个替代用户手工操作的工具!使用者也请勿用用于商业用途以及损害他人利益之用!在使用过程中,如腾讯公司警告你不能使用此工具,请暂停使用!谢谢合作!

6、摘取自己的农场
摘取自己农场的顺序为点击一键摘取工具,然后在土地上点击一下即可,如下代码:
private void GetMyFarm()
{
//点击可拖动工具
OnClickEvent(BorderLeft +170, BorderTop + 527);
//点击一键摘取
OnClickEvent(BorderLeft + 541, BorderTop + 527);
System.Threading.Thread.Sleep(1000);
//点击第一块土地
OnClickEvent(BorderLeft + 338, BorderTop + 205);
System.Threading.Thread.Sleep(2000);
CheckFarmError();
//点击可拖动工具
OnClickEvent(BorderLeft + 170, BorderTop + 527);
}
7、提示窗口的处理
当农场中作物没有成熟时或其他情况下,可能会出现如下图所示提示窗体:

为了防止出现这种提示窗体而导致下一步操作失效,可以定义一个检查错误的函数CheckFarmError,其代码如下:
private void CheckFarmError()
{
//获取提示窗体中心错误图标
Point point1 = new Point();
Point point2 = new Point();
point1.X = BorderLeft + 353;
point1.Y = BorderTop + 228;
point2.X = point1.X + 20;
point2.Y = point1.Y + 16;
Bitmap img = GetScreenImage(point1, point2, false);
int result=JudgeType2(img, 10);
if (result == 4)
{
//如果是提示窗体,则点击确定按钮
OnClickEvent(BorderLeft+353, BorderTop+363);
}
}
8、摘取他人农场
在前面定义的函数基础上再实现这个功能就已经非常方便了。添加一个按钮,设置其Name和Text属性都为“摘取好友农场”,同时添加一个CheckBox控件用于确认是否为好友除草,如下图所示:

为“摘取好友农场”按钮的Click事件添加如下代码:
private void 摘取好友农场_Click(object sender, EventArgs e)
{
//先打开QQ好友
OnClickEvent(BorderLeft +700, BorderTop + 279);
System.Threading.Thread.Sleep(1000);
//点击快速显示摘取信息
OnClickEvent(BorderLeft + 692, BorderTop + 119);
System.Threading.Thread.Sleep(2000);

int isOrNotLast = -1;
while (isOrNotLast != 3)
{
//获取下一页图标
Point point01 = new Point();
Point point02 = new Point();
point01.X = BorderLeft + 665;
point01.Y = BorderTop + 464;
point02.X = point01.X + 20;
point02.Y = point01.Y + 16;
Bitmap img01 = GetScreenImage(point01, point02, false);
isOrNotLast = JudgeType2(img01, 10);

for (int i = 0; i < 10; i++)
{
//获取第一个摘取信息图标
Point point1 = new Point();
Point point2 = new Point();
point1.X = BorderLeft + 672;
point1.Y = BorderTop + 152 + i * 32;
point2.X = point1.X + 20;
point2.Y = point1.Y + 16;
Bitmap img = GetScreenImage(point1, point2, false);
int result=JudgeType2(img, 10);
if (result == 1)//如果能摘取
{
//先进入好友农场
OnClickEvent(point1.X, point1.Y);
System.Threading.Thread.Sleep(1000);
//点击可拖动工具
OnClickEvent(BorderLeft + 170, BorderTop + 527);
//然后点击一键摘取
OnClickEvent(BorderLeft + 541, BorderTop + 527);
System.Threading.Thread.Sleep(500);
//点击第一块土地
OnClickEvent(BorderLeft + 338, BorderTop + 205);
System.Threading.Thread.Sleep(1500);
CheckFarmError();
//点击可拖动工具
OnClickEvent(BorderLeft + 170, BorderTop + 527);
}
else if (result == 2 && CutGrassCheckBoxX.Checked)//除草
{
//先进入好友农场
OnClickEvent(point1.X, point1.Y);
System.Threading.Thread.Sleep(1000);
//先关闭QQ好友
OnClickEvent(BorderLeft + 518, BorderTop + 279);
//点击可拖动工具
OnClickEvent(BorderLeft + 170, BorderTop + 527);
//然后点击除草工具
OnClickEvent(BorderLeft + 271, BorderTop + 527);
System.Threading.Thread.Sleep(500);
//点击第1块土地
OnClickEvent(BorderLeft + 338, BorderTop + 205);
//点击第2块土地
OnClickEvent(BorderLeft + 234, BorderTop + 259);
//点击第3块土地
OnClickEvent(BorderLeft + 134, BorderTop + 310);
//点击第4块土地
OnClickEvent(BorderLeft + 435, BorderTop + 259);
//点击第5块土地
OnClickEvent(BorderLeft + 334, BorderTop + 305);
//点击第6块土地
OnClickEvent(BorderLeft + 229, BorderTop + 349);
//点击第7块土地
OnClickEvent(BorderLeft + 524, BorderTop + 311);
//点击第8块土地
OnClickEvent(BorderLeft + 431, BorderTop + 354);
//点击第9块土地
OnClickEvent(BorderLeft + 330, BorderTop + 402);
//点击可拖动工具
OnClickEvent(BorderLeft + 170, BorderTop + 527);
//打开QQ好友
OnClickEvent(BorderLeft + 700, BorderTop + 279);
System.Threading.Thread.Sleep(1000);
}
}
//点击下一页
System.Threading.Thread.Sleep(500);
OnClickEvent(BorderLeft + 669, BorderTop + 464);
System.Threading.Thread.Sleep(1000);
}
//关闭QQ好友
OnClickEvent(BorderLeft + 518, BorderTop + 279);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: