精华内容
下载资源
问答
  • 闲来无事刷微博时候正好看到有人分析如何编写脚本自动运行游戏破了3000多分,细看后觉得原理并不复杂,就索性花了一个晚上,参考大神实现方法,在他基础上删减了一些代码,也Python写了个脚本。接下来进行...

    前言
    更新了微信后发现了一款小游戏跳一跳,但是玩了一下午最高才达到200,每次差点破纪录后总是手抖就挂掉了,气的想要砸手机。。闲来无事刷微博的时候正好看到有人分析如何编写脚本自动运行游戏破了3000多分,细看后觉得原理并不复杂,就索性花了一个晚上,参考大神的实现方法,在他的基础上删减了一些代码,也用Python写了个脚本。接下来进行原理和代码分析。
    这里写图片描述
    图1.跳一跳启动界面
    原理

    1. 配置adb环境变量,在我的电脑–》属性–》高级系统设置–》环境变量–》Path上添加adb.exe所在的路径。

    2. 打开手机的usb调试模式,并连接电脑,打开跳一跳,然后通过adb工具获取当前手机截图,具体指令如下所示:

      adb shell screencap -p /sdcard/1.png
      adb pull /sdcard/1.png

      在程序中的具体代码实现如下所示:

    def screenshot():
        cmd = 'adb shell screencap -p /sdcard/1.png'
        os.system(cmd)
        cmd = 'adb pull /sdcard/1.png'
        os.system(cmd)
    1. 查找棋子的位置,通过颜色来识别棋子,通过将棋子底盘所在行的所有点的x轴坐标相加,然后取平均值获得X轴坐标,将Y轴坐标取最低点减去棋子底盘高度的一半。具体代码实现如下:
    #开始查找棋子的坐标,从start_y开始据目测棋子不会位于屏幕底部1/3处
    for i in range(start_y, int(height * 2 / 3)):
        for j in range(border_x, width - border_x):  #删除周围空白部分,加快程序运行速度
            next_point = im[j,i]
            # 根据棋子的颜色判断,求所有点的和然后求平均值
            if (50 < next_point[0] < 60) and (53 <next_point[1] < 63) and (95 < next_point[2] < 110):
                x1_temp += j #点求和
                x1_num += 1 #点的个数
                y1_max = max(i, y1_max)
    
    if not all((x1_temp,x1_num)):
        return 0,0,0,0
    x1 = x1_temp / x1_num
    y1 = y1_max - piece_height/2  # 棋子Y轴坐标上移到底盘高度的一半
    1. 查找下一个棋盘的位置,一般可以通过两种方法实现。第一种是通过鼠标点击下一个棋盘的位置,具体参考编程美丽写的博客。

    http://blog.csdn.net/F0ED9cZN4Ly992G/article/details/78937011

    第二种是本文使用的,从上往下一行一行扫描,找到块中点的X轴坐标,然后通过截图中两个具体的棋盘获取的固定的角度,即正切值来推出中点的 Y坐标。 具体代码如下:

    #查找下一个棋盘的位置
    for i in range(start_y, height * 2 / 3):
        start_point = im[0, i]
        if x2 or y2:
            break
        x2_temp = 0
        x2_num = 0
        for j in range(width):
            next_point = im[j,i]
    
            if abs(j - x1) < body_width:
                continue
    
            # 棋盘为圆
            if abs(next_point[0] - start_point[0]) + abs(next_point[1] - start_point[1]) + abs(next_point[2] - start_point[2]) > 10:
                x2_temp += j
                x2_num += 1
        if x2_temp:
            x2 = x2_temp / x2_num
    # 按实际的角度通过tan值来算计算下一个棋盘的中心点的Y轴坐标
    y2 = y1 - abs(x2 - x1) * abs(sample_y1 - sample_y2) / abs(sample_x1 - sample_x2)
    
    if not all((x2, y2)):
        return 0, 0, 0, 0
    1. 根据棋子的位置跟下一个棋盘的位置求得两点的具体,推算出长按时间。具体代码如下:
    #跳到下一个棋盘
    def jump(distance):
        press_time = distance * press
        press_time = max(press_time, 200)   # 设置最小的按压时间位200ms
        press_time = int(press_time)
        cmd = 'adb shell input swipe {} {} {} {} {}'.format(swipe_x1, swipe_y1, swipe_x2, swipe_y2, press_time)
        print(cmd)
        os.system(cmd)

    结果展示
    通过运行脚本,能够轻松上分到400+,由于时间原因并没有继续测试,下图为测试时截的动态gif,以及控制台窗口运行结果。
    这里写图片描述这里写图片描述
    图2.真机运行

    这里写图片描述
    图3.控制台输出信息
    下载链接:http://download.csdn.net/download/qq_22408539/10187952

    展开全文
  • 本实例是一个提高效率、人性化... 语音卡实现电话购物,通过按键选择进行物品选择。  语音卡实现电话点拔歌曲,通过按键选择点拔自已喜爱歌曲。  语音卡实现电话群拔功能。例如通知某人电话费用不足。
  • 前言:上一篇讲是关于SSM框架整合,本篇文章将会展示如何设计博客业务表及通过Mybatis代码生成工具进行代码实体类生成。 我们接下来我们通过要完成功能来分析可能会存在表! 1、用户注册与激活,...

    个人博客网站编写(03)

     

    前言:上一篇讲的是关于SSM框架的整合,本篇文章将会展示如何设计博客的业务表及通过Mybatis的代码生成工具进行代码实体类的生成。


    我们接下来我们通过要完成的功能来分析可能会存在的表!

    1、用户注册与激活,激活通过邮件的方式激活(user表)。

    2、用户的登录与退出,包括账号登录与手机登录(log日志表)。

    3、用户登录的时候用验证码,进行验证。

    4、首页的展示,分页以及主要内容的展示,主要内容为博客的文章。(content表)

    5、首页文章的点赞、评论功能。(用户评论表、)

    6、个人主页模块,包括个人的基本信息,博客分类,发布博客,管理博客以及热门推荐等(嗯,好像还是用户表)

    7、博客编写的功能(一个富文本编辑器解决一切)。

    8、个人信息的修改功能

    9、记录访问网站的人的信息,登录时间以及IP地址等。

     

    通过上面这些功能的分析,需设计相应的表包括:用户表 user、角色表 role、资源表 resource,角色用户中间表 role_user,角色资源中间表 role_resource,用户详细信息表 user_info、文章表 user_content、评论表 comment、点赞表 upvote、登录日志表 login_log

    表结构设计

    讲到这里我们不得不说到如何设计表,在大学的时候通常我们都是直接写个WORD画个表格当作数据字典。然后通过数据字典在MYSQL中通过建表语句去一张张表的设计,但是到现在工作了。我们应该更加高效,更加精准的去设计表。因此,此次我么能通过POWERDESING一个表设计工具去设计表。

    关于此段内容可以参考PowerDesigner使用

     

    反向生成实体类

    使用MYBATIS的生成工具去生成代码,这一段我以前写过这部分的内容不过是基于ECLIPSE的可以拿出来看看

    ECLIPSE下反向生成实体类

    当然除了在本篇文章也会展示如何生成代码。

    要完成反向生成代码,实际上百度很多但是了,身为一个教程就应该有他该有的样子。来来来,首先是配置对应的JAR包和依赖。

    所需 Jar 包及配置文件

    要完成反向生成实体类功能,需要依赖相关 Jar 包,包括 Mybatis 框架的 Jar 包,数据库驱动程序 Jar 包以及 MyBatis 生成器 Jar 包,通过 Jar 包中的相关方法操作数据库中的表,生成对应的实体类(这些包已放在百度云盘的 mybatis-generator-core-1.3.2.zip 中,大家可根据文末提供的链接访问下载)。

    generatorConfig.xml 配置文件,配置了生成实体类后保存的包路径,数据库相关信息:数据库名称、用户名和密码等,表名、实体类名称等,主要文件如下图所示(lib目录下):

    generatorConfig.xml 详细配置如下:

       <?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE generatorConfiguration  
      PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
      "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
    <generatorConfiguration>  
    <!-- 数据库驱动-->  
        <classPathEntry  location="mysql-connector-java-5.1.25-bin.jar"/>  
        <context id="DB2Tables"  targetRuntime="MyBatis3">  
            <commentGenerator>  
                <property name="suppressDate" value="true"/>  
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->  
                <property name="suppressAllComments" value="true"/>  
            </commentGenerator>  
            <!--数据库链接URL,用户名、密码 -->  
            <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/liweiblog_db" userId="root" password="123456">  
            </jdbcConnection>  
            <javaTypeResolver>  
                <property name="forceBigDecimals" value="false"/>  
            </javaTypeResolver>  
            <!-- 生成模型的包名和位置-->  
            <javaModelGenerator targetPackage="com.liwei.blog.pojo" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
                <property name="trimStrings" value="true"/>  
            </javaModelGenerator>  
            <!-- 生成映射文件的包名和位置-->  
            <sqlMapGenerator targetPackage="com.liwei.blog.mapping" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </sqlMapGenerator>  
            <!-- 生成DAO的包名和位置-->  
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.liwei.blog.dao" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </javaClientGenerator>  
            <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->  
            <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="user_info" domainObjectName="UserInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="role" domainObjectName="Role" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="role_user" domainObjectName="RoleUser" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="resource" domainObjectName="Resource" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="role_resource" domainObjectName="RoleResource" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="comment" domainObjectName="Comment" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="login_log" domainObjectName="LoginLog" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
            <table tableName="upvote" domainObjectName="Upvote" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    		<table tableName="user_content" domainObjectName="UserContent" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        </context>  
    </generatorConfiguration>  
    
    

    具体实现步骤

    按照上图目录结构放置好以后,直接在当前目录下 shift+右键,点击在此处打开命令行窗口(Win10 打开 powerShell 窗口)。

    输入以下命令即可执行成功:

    java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
    

    在当前目录的 src 目录下就会生成对应的实体类、映射文件和接口文件,注意得有 src 文件夹,结果如下三张图所示。

     

     

     

    将实体类导入项目

     

    最后,我们将上面生成的实体类导入项目中。

    1. 新建包路径。

    java -> 右键new -> Package -> com.liwei.blog.pojo-> OK

    2.复制刚才创建的实体类,粘贴到 pojo 路径下。

    3.最后的目录结构如下:

     代码的JAR包。

    链接:https://pan.baidu.com/s/1iXwEzTkPkQ2k0-4b_y1SpQ 密码:l2aq

    展开全文
  • 泛娱科技​www.cpdzapp.com手机app开发...3.大功能模块代码编写以及大概界面模块编写。在界面模块编写之前,开发者可以在模拟器做大功能开发。但事实上,对于iNotes开发来说,模拟器是不够,simulator多触点...
    泛娱科技www.cpdzapp.com

    手机app开发流程为:

    1.首先,制作一款APP,必须要有相关的idea,也就是说,第一步是APP的idea形成。

    2.通过那些idea来进行APP的主要功能设计以及大概界面构思和设计。

    3.大功能模块代码编写以及大概的界面模块编写。在界面模块编写之前,开发者可以在模拟器做大的功能开发。

    但事实上,对于iNotes开发来说,模拟器是不够用,simulator的多触点(multi-touch)支持是非常弱的,很多touch的测试是无法在simulator做的。特别值得注意的是,在功能开发的过程中要注意内存的使用,这也是在iOS开发上最最重要的思维

    4.把大概的界面和功能连接后,app的大致demo就出来了。值得一提的是,如果有界面设计师,就能节省大量时间。比如界面设计上,可以编写功能模块和设计师同步进行。这样app的demo出来后,基本上可以有界面可以用了。根据测试用户的反馈,重复之前demo出来后的一系列步骤。

    5.最后在app完成后,加入app icon, iTunesArtwork等等UI元素。反复测试无错误后上传iTunes。之后大概要花7-14天来等候审批。

    d1a2363402ed2adf8b61c079d746f73e.png

    扩展资料:

    App开发,是指专注于手机应用软件开发与服务。 App是application的缩写,通常专指手机上的应用软件,或称手机客户端。另外目前有很多在线app开发平台。

    移动互联网时代是全民的移动互联网时代,是每个人的时代,也是每个企业的时代。APP便捷了每个人的生活,APP开发让每个企业都开始了移动信息化进程。

    展开全文
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件可读性,便于改进和扩充,从而研制出规模更大、性能更完备系统。 综上所述,C语言进行单片机程序设计是单片机开发与应用必然趋势。所以...
  • 算法相关,密钥 Java生成密钥、保存密钥实例源码,通过本源码可以了解到Java如何产生单钥加密密钥(myKey)、产生双钥密钥对(keyPair)、如何保存公钥字节数组、保存私钥到文件privateKey.dat、如何用Java对象...
  • Android高级编程--源代码

    热门讨论 2013-02-06 17:39:21
     由于Android构建在开源代码的框架之上,而且提供了强大的SDK库和开放的理念,所以它为广大的没有任何移动应用程序开发经验的新手开辟了一条开发完美的移动应用程序的康庄大道。而富有经验的移动开发人员现在也可以...
  • iPhone开发秘籍(第2版)--源代码

    热门讨论 2012-12-11 13:51:22
    1.7.5 关于本书示例代码的说明 16 1.8 iPhone应用程序组件 17 1.8.1 应用程序文件夹层次结构 17 1.8.2 可执行文件 17 1.8.3 Info.plist文件 17 1.8.4 图标和默认图像 19 1.8.5 NIB文件 20 1.8.6 应用程序束...
  • 1.5 研究代码的重要性 2 1.6 Xinu操作系统 2 1.7 本书其余部分的组织 3 1.8 小结 3 深入研究 4 第2章 操作系统中的TCP/IP软件结构 5 2.1 引言 5 2.2 进程的概念 5 2.3 进程的优先级 6 2.4 进程的同步通信 6...
  • 请问 启动弹窗dylib或者是freamwork 如何Xcode中如何创建,编写代码以及如何生成dylib 或者freamwork动态库呢? 我在一个帖子上按照步骤进行操作。他是theos方式进行的。 但是我最终安装到手机上是闪退...
  • 经历过电脑端网页开发朋友,在第一进行手机端开发时候,总感觉一头雾水,我也一样...如上图,这次可能更醒目了,这个问题导致我们不能正常编写手机网页代码,这个时候我们就有了解决方法。<!DOCTYPE html>

    经历过电脑端网页开发的朋友,在第一进行手机端开发时候,总感觉一头雾水,我也一样,将自己近期来在手机端开发中的问题与解决方法分享,如有不对或更好的方法,请指正。

    1.如何让网页在手机端正常显示?而是pc端网页的缩小版

    说起来可能有点不生动,用图例说明一下。

    这里写图片描述

    如上图,这次可能更醒目了,这个问题导致我们不能正常的取编写手机端的网页代码,这个时候我们就有了解决方法。

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta http-equiv="content-Type" content="text/html;charset=UTF-8" >
        <meta name="apple-touch-fullscreen" content="YES" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, draggable=no,user-scalable=no" />
        <meta name="apple-mobile-web-app-capable" content="yes" />
        <meta name="format-detection" content="telephone=no" />
    </head>
    <body>
    </body>
    </html>

    我们只需要在头部添加上面的代码,问题就得以解决。至于代码的详细解释,网上有更详细的解释,聪明的大家相信会懂得,我就不罗嗦了。

    2. 如何让手机端网页适配更多的手机?

    手机的分辨率问题是手机端开发中的一个大问题,在这里大家一定要区分手机端物理像素和真实像素的区别,根据开发经验,我觉得主流手机物理像素在300-500px之间。但在实际开发中,我们往往是用百分比来布局的,因为手机的分别率是未知的,这个时候我们就可以用百分比轻松搞定好多问题,也就是这样:

        .content{
            width: 100%;
            height: 80px;
        }

    具体的情况还得看实际开发需求。

    3.由于手机的性能远远比不上pc,这个时候图片等等一些因素就影响了手机的性能,如何优化呢?

    其实不用担心,因为是手机,所以我们可以用HTML5 + CSS3进行开发。这个时候推荐大家一种东西,叫做字体图标iconfont ,我们可以在这里找到我们需要的图片阿里矢量图;但是我们又会发现一个问题,如果我们图片过多了怎么办,多个图片是不利于我们开发的,多个名字,也不利于维护。于是出现了更好的方法。字体图标。

    这个轻量级的,而且不会失真的图片,关键是挺美观,是不是很~(≧▽≦)/~。

    用css将他引进来

    @font-face {
        font-family: 'iconfont';
        src: url('../../iconfont/menu/iconfont.eot'); /* IE9*/
        src: url('../../iconfont/menu/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
        url('../../iconfont/menu/iconfont.woff') format('woff'), /* chrome、firefox */
        url('../../iconfont/menu/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
        url('../../iconfont/menu/iconfont.svg#svgFontName') format('svg'); /* iOS 4.1- */
    }
    .iconfont{
        font-family: "iconfont";
        font-style: normal;
        color: #fff;
    }

    然后html代码中运用就行了

    <i class="iconfont">&#xe61f;</i>

    于是就出现了美丽的图标,关键是一次引用,多次调用哦。好多图片的问题一下集中解决。

    似乎没了,有了新的总结在更新吧……

    展开全文
  • 文 / George Soloupis 本教程目标:了解什么是音高 (Pitch) 以及历史上机器学习如何检测歌曲中音高对歌曲数据以及执行模型结果进行可视化编写通过手机麦克风收集声音的代码 在 Android 应用程序内部部署 ML ...
  • 文 /George Soloupis本教程目标:了解什么是音高 (Pitch) 以及历史上机器学习如何检测歌曲中音高对歌曲数据以及执行模型结果进行可视化编写通过手机麦克风收集声音的代码在 Android 应用程序内部部署 ML 模型...
  • 文 /George Soloupis本教程目标:了解什么是音高 (Pitch) 以及历史上机器学习如何检测歌曲中音高对歌曲数据以及执行模型结果进行可视化编写通过手机麦克风收集声音的代码在 Android 应用程序内部部署 ML 模型...
  • 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中图片放大查看...Hue中使用Hive和Impala进行查询,在使用完Hue后退出登录,会出现Hive和Impala用的资源未释放。本篇文章Fayson主要针对...
  • 请阅读子目录中相应自述文件,以获取有关如何针对平台进行开发信息。 是呈现给用户用户界面。 它使用带有TypescriptVue并处理客户端实际控制。 是Windows应用程序,可将客户端流量重定向到移动网站。 ...
  • 工欲善其事必先利其器,在进行代码编写之前,来研究下手机客户端是如何将图片上传到服务器端吧。 图片也是文件一种,其上传协议是基于HTTP,所以来看下普通网页上传图片时候,其HTTP发生了什么变化。...
  • 开发者有问题或者好建议可以Issues反馈交流,请给出详细信息 在开发交流群中应讨论开发、业务和合作问题 如果真需要QQ群里提问,请在提问前先完成以下过程: 请仔细阅读本项目文档,特别是是FAQ,查看能否...
  • MLN是一个移动跨平台开发框架,让开发者一套代码编写Android,iOS应用。MLN设计思路贴近原生开发,客户端开发者经验,可以Swift迁移到MLN上,轻松构建出跨平台移动应用。 专为客户端开发者设计。 增加包体积极...
  • JavaScript优化技巧

    千次阅读 2020-12-18 08:36:45
    双12 A 里服务器27块,通用点击这里购买可以找我返现30,等于27块就能买到了,只限新用户,可以家人的手机号购买! 作为开发人员,我们一直在寻找让我们的代码更快更好方法。但在此之前,编写高性能代码需要做...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 146
精华内容 58
关键字:

如何用手机进行代码的编写