疫情开不了学,在家无事,遂写脚本以用促学、练习python
一 脚本开发
游戏:手游 公主连接
环境:雷电模拟器
控制:Adb
游戏分析:
1 游戏模式:
战斗方式:选择角色编为队伍,己方队伍与NPC或其他玩家队伍自动战斗;
角色获取:可通过充值货币抽奖,或者游戏内货币逐步兑换
角色提升:通过游戏内货币强化技能,或者与NPC战斗掉落装备强化
该游戏中只有点击一种操作方式
2 游戏模块:
七个一级模块(页面):主页、角色、剧情、冒险、NPC公会、扭蛋、主菜单;七个模块的入口在游戏工具栏,在任何页面中工具栏始终保持显示。一级模块(页面)中有其他子模块的入口。
一级模块 | 子模块 |
---|---|
主页 | 资源购买、游戏货币商店、玩家公会、任务奖励、礼物领取 |
角色 | 角色信息、角色强化、角色预组队 |
剧情 | 内置动画 |
冒险 | 游戏战斗;NPC战斗分为:主线、探索、地下城、团队战四种,玩家间战斗分为:竞技场、公主竞技场两种。 |
NPC公会 | 领取奖励 |
扭蛋 | 抽取角色、领取奖励 |
主菜单 | 游戏设置 |
脚本开发与使用:
1 工具类:
知识点:
ADB
游戏的实际控制要通过adb指令实现,将要用到的Adb指令都封装为函数,打包成Utils模块。
每个业务模块类创建一个工具类成员变量。通过调用函数来进行操作而不是直接传递Adb指令。
2 账号控制:
有多个游戏账号要控制,每个账号要进行的任务可以不同。在主程序中建立账号和账号信息的字典,账号信息中存储账号密码、任务列表,遍历该列表即可。
3 业务模块:
为每个一级菜单(模块)在项目中创建一个对应文件夹,菜单那下每个子模块对应一个类。内容最多的是主页模块、冒险模块。
主页模块 mainpage:
主页中一部分按钮直接提供功能,一部分按钮是子模块的入口
主页界面功能: 购买体力、购买Mana
主页子模块: 商店模块ShopsManager、公会(外部)模块OrganizationManager、任务奖励模块TaskManager、礼物模块GiftManager
冒险模块 adventure :
战斗场景子模块: MainlineManager、ExploreManager、DungeonsManager、OrganizationBattleManager、Aren