自己动手做游戏《钉子户大战拆迁队》外挂

    最近一款“山寨游戏”《钉子户大战拆迁队》,近日在网络世界中火速爆红,本人亦不甘落后,玩了一下。总体感觉,这个游戏的设计的出发点不错。爆红的原因也是有其现实因素的。
    先不废话了,介绍游戏吧!
游戏地址:http://flash.7k7k.com/fl_8/20100820/dingzihu.swf

    这是一款典型的塔防游戏,不过可供选择不是各种功能的塔,而是人,在可供选择的丁家人中,每人都有各自的“法宝”。“丁老爷子”端着长枪,“丁老爸”会扔燃烧瓶,“丁他妈”的杀手锏是丢拖鞋,“丁自酷”一身肌肉爱砸杠铃,“丁小小”射弹弓,“丁小妹”甩炮仗。进攻的拆迁队方面,有光着膀子、手持双刀,有身着制服手里端着铲子,有骑着钻头一路跳,有骑着自行车,还有开着大吊车甩铁球的……玩到最后,拆迁队员就如同《植物大战僵尸》无尽版中的僵尸群一样,大批大批涌来。丁家人则要赶在拆迁队将楼拆倒前尽量“消灭”对方。

    《钉子户大战拆迁队》前几关攻略:丁小小最先出,站楼顶。满100出丁妈,三楼。再满100出丁爸,二楼。最后是丁子酷。然后,按照这个次序依次升级,就可以轻松过关。《钉子户大战拆迁队》生存模式无尽关卡秘笈就一句话:狂点树叶,生命值可以回升。这个游戏告诉我们,单凭一家人的力量是没有用的,还需要千万个拿着鼠标的手指帮忙。

     这个游戏的前几关还是很容易的,最后一关无穷模式可就比较困难了,无穷模式的关键之处就是要狂点树叶以恢复生命值,我玩过两次,点的我手都酸了,也就撑到了金币20000多就扛不住了。眼看房被拆了,心中甚怒。暗下决心,一定要重头再来。

     我本身是学计算机的,让我手工去点击,就是对我的侮辱。于是就决定写一个程序来实现模拟鼠标按键,我每秒按键的次数大概在5-8次,如果程序实现的话。。。。嘿嘿。。。

     功能需求:写一个程序,实现模拟鼠标按键功能,并且能够根据用户的需求,程序随时停止运行!

     设计思路:该程序主要分为2个部分,第一个部分就是模拟鼠标按键,第二个部分就是监视用户的指令,以确定是否需要停止程序运行。由此一来,程序的功能模块就明显了,每个部分对应一个线程。

     详细设计:

     1)模拟鼠标按键

     主要函数:

     GetCursorPos//用于获取树叶的坐标
     SetCursorPos//用于设置鼠标的位置
     mouse_event//鼠标模拟点击函数

     主要部分实现:

    GetCursorPos(&lpPoint);
    
    while(1)
    {
        SetCursorPos(lpPoint.x, lpPoint.y);
        mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
        Sleep(10);
        mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
        Sleep(10);//每秒钟实现点击50次,够了吧应该
    }

      2)监视部分
      主要函数:
      GetAsyncKeyState//判断键是否按下
      主要部分实现:

    while (1)
    {
        long KeyResult = GetAsyncKeyState(123) ;
        if (KeyResult == -32767) //F12,暂停/继续
        {
            dlg->pass();
        }
        
        KeyResult = GetAsyncKeyState(13) ;
        if (KeyResult == -32767)//enter,终止线程

        {
            dlg->quit();
            return 1;
        }
        Sleep(20);
    }

      说明:当用户点击开始后,应在2S内将鼠标移至树叶的位置,以确保程序能够正确采集到树叶的坐标,程序执行后,用户若按下F12键,则停止模拟点击,再次按下,则继续。若按下回车键,程序退出。
      主要功能完成后,再给程序加个界面吧。
    最后测试了一下,效果不错!所以分享一下
    可执行程序:
文件: dingzihu.rar
大小: 10KB
下载: 下载

ps:附上无穷模式的截图,本来是想等到金币10万以后截图的,不过游戏只能显示前5位数。

实践证明,该外挂作用明显,看来,钉子户和拆迁队的斗争真是无穷模式!!!

作者: biti-leaf   发布时间: 2010-09-17