农场工具程序设计(二)
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);
}
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);
}
相关文章推荐
- 农场工具程序设计(一)
- 农场工具程序设计(三)
- 2013年第四届蓝桥杯C/C++程序设计本科B组决赛 农场阳光(编程大题)
- VB6是基于对象的程序设计工具
- ROS机器人程序设计(原书第2版)补充资料 (叁) 第三章 可视化和调试工具
- 程序设计相关实验工具网址
- Linux程序设计01:开发工具和开发平台
- 【译】Object Dumper: 函数式程序设计编码中的强大工具
- 分类: linux程序设计 2012-03-06 22:01 10646人阅读 评论(5) 收藏 举报 linux语言c工具gcc程序开发 调试是每个程序员都会面临的问题. 如何提高程序员的调
- Windows程序设计1(工具、编码、窗口)
- c++ 程序设计question 001:我们的开发工具是什么?
- 家庭农场海边作弊工具的Android的ios
- 程序设计的画图工具
- [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS
- 程序=算法+数据结构+程序设计方法+语言工具和环境
- [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)
- [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit
- JDK同步控制工具,JAVA高并发程序设计
- 谭浩强C++程序设计第14章C++工具
- Linux程序设计笔记(第9章 开发工具)