现在的位置: 首页 > 综合 > 正文

农场工具程序设计(二)

2014年01月19日 ⁄ 综合 ⁄ 共 4580字 ⁄ 字号 评论关闭

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

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、摘取他人农场

在前面定义的函数基础上再实现这个功能就已经非常方便了。添加一个按钮,设置其NameText属性都为“摘取好友农场”,同时添加一个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);

                        //

抱歉!评论已关闭.