1 Star 1 Fork 0

Chen / swy-bot

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

swy-bot

swy-bot

简介

食物语自动挂机脚本, 主要用于客潮和活动小游戏(目前仅包括千人千面自动消除)

由于某些原因小游戏自动挂机仅提供算法, 不提供配置, 请在tasks/minigame.py中自行修改配置

目前已支持Android系统原生运行脚本, 但有一些性能问题, 详情请见android分支, 若想体验可到releases中下载

现已加入食物语线性规划做菜计算器, 但处于早期测试阶段, 如遇bug请提交issue

祝各位少主都能把喜欢的菜男人抱回家! 双御.png


食用方式

详见程序内指引

注意: 若使用ADB和Scrcpy模式, 请确保系统环境变量中有ADB, 并且ADB已连接至手机


食材

必需依赖:

  • Python 3.8+
  • numpy
  • opencv-python

平台特定(现已引入动态加载模式, 未安装库仅会禁用对应模式, 脚本仍可正常运行):

  • Windows原生模式:
    • pywin32
  • linux和mac原生模式:
    • PyAutoGUI
  • 任意系统ADB模式:
    • pure-python-adb
  • 任意系统Scrcpy模式:
    • av

线性规划做菜计算器:

  • PuLP

菜谱&改良

本项目可在Windows, Linux, MacOS和Android系统上运行, Android系统需要专用的用于加载脚本的APP才能运行, 详见android分支

另外本挂机脚本实际上提供了一个框架, 经过简单修改应该也能用于其他游戏, 甚至是用于训练人工智能玩游戏(逃

本项目欢迎各位空桑少主贡献代码

项目结构

  • libs/ 脚本所需的库, 目前只有Scrcpy的服务端
  • data/ 存储游戏数据和挂机所需资源的目录
  • saved/ 截图会保存在这个目录
  • algorithms/ 算法
    • detect.py 图像识别相关算法
    • matching.py 自动连连看算法(原作者TheThreeDog)
  • players/ 模式
    • player.py 模式基类
    • native.py 通过原生窗口与游戏交互
    • adb.py 通过ADB与游戏交互
    • scrcpy.py 通过Scrcpy与游戏交互
    • debug.py 调试用
  • tasks/ 挂机任务
    • task.py 挂机任务基类
    • kechao.py 客潮挂机任务
    • minigame.py 小游戏挂机任务
  • platforms/ 工具模块的平台相关实现
    • console.py 具有命令行的系统上的实现
    • windows.py Windows系统相关实现
    • linux.py Linux系统相关实现
    • android.py Android系统相关实现
  • main.py 主模块
  • profit.py 线性规划做菜计算器(可单独运行)
  • swy.py 食物语游戏数据(单独运行为输出游戏数据)
  • scrcpy.py Python实现的Scrcpy客户端
  • utils.py 工具模块

自动挂机

详见players和tasks目录

线性规划做菜计算器

线性规划算法详见profit.py中的注释

关于烹饪时间缩短百分比

根据计算, 菜本身的缩减和食魂的生活技能提供的缩减是相加的关系

但源于我的疏忽, 脚本中的算法是相乘, 但是结果没差太多, 所以不改了(真不是懒)

另外烹饪时间出现小数的话只有入没有舍, 是ceil

自动小游戏

由于某些原因, 本项目仅提供用于学习的算法, 不包含配置, 如需使用请自行配置


如何烹饪

  1. 拿走菜谱(克隆仓库到本地)
  2. 准备好食材(安装第三方库)
  3. 开始做菜(运行main.py)
  4. 装盘(目前仍无法打包运行, 请考虑使用Android原生版本)
  5. 随心所欲地修改菜谱(请随意修改代码)

烹饪日记

展开查看
2020/10/27 项目开始开发
2020/11/3 实现ADB模式
2020/11/5 实现Windows原生模式
2020/12/5 客潮挂机从模板匹配改为识别圆
2021/2/1 大规模重构代码, 增加挂机任务类, 增加使用Scrcpy的模式(未完成), 更新版本号至V1.2
2021/2/21 使用装饰器注册挂机任务, 完成Scrcpy模式, 更新版本号至V1.3
2021/2/23 重做客潮挂机任务, 更新版本号至V1.4
2021/2/25 新增swy.py用于加载游戏数据, 初步实现线性规划做菜计算器
2021/2/26 更新菜肴数据为计算缩减后的烹饪时间, 更新版本号至V1.5
2021/9/13 加入自动连连看算法, 初步支持Linux
2021/9/14 已加入对Linux和MacOS的支持, 但尚未测试, 更新版本号至V1.6
2021/9/17 已加入千人千面自动挂机功能, 更新版本号至V1.7
2023/2/2 代码重写, 用协程替代状态机, 实现动态加载模式, 移植到Android系统, 由于更新内容较多, 更新版本号为V2.0
2023/7/12 为适配Android12, 客潮截图现在保存在相册中, 而非Android/data, 更新版本号为V2.1
2023/9/8 更新Scrcpy至1.25, 修复Android版挂机脚本在鸿蒙系统上的一些问题, 更新版本号为V2.2
2023/9/9 适配Scrcpy 2.1.1, 更新版本号为V2.3

厨师们

详见 Contributors


特别致谢

所有第三方库的开发者

Scrcpy功能参考自:

线性规划做菜计算器参考自:

自动连连看算法来自:

感谢以上项目的开发者

以及这篇Python线性规划库PuLP教程: PuLP简介


版权信息

本项目以MIT协议开源, 引用的代码仍按照原协议开源

仅供学习交流, 严禁用于盈利

使用本脚本造成的一切后果由使用者自行承担

MIT License Copyright (c) 2020 Chen Wu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

食物语自动挂机脚本, 主要用于客潮和活动小游戏 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/dawningw/swy-bot.git
git@gitee.com:dawningw/swy-bot.git
dawningw
swy-bot
swy-bot
main

搜索帮助