首页 > 其他分享 >消消乐AI-1

消消乐AI-1

时间:2023-08-06 23:22:57浏览次数:37  
标签:截图 screenshot AI self 消消 adb path ADB

应女朋友要求,特意写一个消消乐的强化学习AI。具体需要实现的功能主要包括:

  1. 捕获屏幕截图:使用手机操作系统提供的API来捕获屏幕截图。例如,在Android上,可以使用MediaProjection API来捕获屏幕截图。
  2. 处理屏幕截图:使用一种图像处理库来分析屏幕截图并获取游戏状态。可能需要识别特定的颜色或形状,或者使用其他图像处理技术。
  3. 实现游戏策略:实现一个AI算法来决定下一步的最佳动作。这可能涉及到一些机器学习或强化学习技术。
  4. 模拟用户输入:使用手机操作系统提供的API来模拟用户输入,如点击或拖动。例如,在Android上,你可以使用Instrumentation API来模拟用户输入。

捕获屏幕截图

采用的是ADB软件,链接为:https://developer.android.com/studio/releases/platform-tools 自己搭个梯子进去。

这里的话我是用win11,下起来也简单,一些其他的注意事项见下:
1.下载并安装Android SDK。你可以从Android开发者网站下载SDK。安装过程中,确保选择了"Android SDK Platform-tools",因为它包含了ADB工具。
2.设置环境变量。你需要将Android SDK platform-tools目录添加到你的PATH环境变量中。这样你就可以在任何位置运行ADB命令了。

  • 在Windows上,你可以通过编辑系统环境变量来添加新的路径。
  • 在Linux或Mac上,你可以在你的bash或zsh配置文件中添加export PATH=$PATH:/path/to/your/android/sdk/platform-tools。

3.验证ADB安装。打开命令行,输入adb version,如果显示出ADB的版本信息,那么你就成功安装了ADB。
注意:在使用ADB连接设备之前,你可能需要在设备上开启"开发者选项"和"USB调试"。

这样就OK了,之后要做的就是实现代码编写。代码如下:

import subprocess
import os

class AdbClient:
    def __init__(self, adb_path):
        self.adb_path = adb_path

    def run_command(self, command):
        subprocess.run([self.adb_path] + command)

    def take_screenshot(self, save_path):
        # 使用ADB进行截图
        self.run_command(["shell", "screencap", "-p", "/sdcard/screenshot.png"])
        
        # 将截图从设备拉取到电脑上
        self.run_command(["pull", "/sdcard/screenshot.png", save_path])

# 创建ADB客户端
adb = AdbClient(r"开心消消乐\platform-tools\adb.exe")

# 使用ADB客户端进行截图
adb.take_screenshot("screenshot.png")

# 检查截图是否存在
if os.path.exists("screenshot.png"):
    print("Screenshot taken successfully.")
else:
    print("Failed to take screenshot.")

如果你没有USB线,你可以通过WiFi来连接你的手机和电脑的ADB。以下是步骤:
首先,你的手机和电脑需要连接到同一个WiFi网络。
在手机上开启"开发者选项"和"USB调试"。
在手机上找到并记下你的IP地址。你通常可以在"设置" -> "关于手机" -> "状态" -> "IP地址"中找到它。
在电脑上打开命令行,输入adb tcpip 5555。这将设置ADB为使用TCP/IP端口5555。
然后,输入adb connect <你的IP地址>:5555。这将连接到你的手机。
现在你应该可以使用ADB命令了。你可以输入adb devices来检查你的设备是否已经连接。
注意:在使用WiFi连接ADB时,你的网络可能会受到攻击。因此,你应该只在信任的网络中使用这个功能,或者在使用完之后立即关闭ADB的网络连接。你可以通过输入adb disconnect来断开连接。
最后用这个指令测试,确定是完成连接了就行:

运行代码,进行单次截图。

获取截图部分结束。

标签:截图,screenshot,AI,self,消消,adb,path,ADB
From: https://www.cnblogs.com/D876887913/p/17609763.html

相关文章

  • AI绘画:两组赛博咒语和ComfyUI使用方法
    虽迟但到啊,上次说过要发,必然是要发滴! ​ 本来我是可以直接发的,但是我又想着发关键词的同时,最好是讲解一下用法,这样更友好。所以就拖了一天! 下面先展示一下两套咒语的效果:     这套咒语可以生成动物外形的赛博生物,巨......
  • Tails Linux 镜像站分享
    TailsBoum是一个便携式Linux操作系统,可以防止监视和审查.Tails镜像站列表:tails.net/mirrors.jsonTails镜像站(速度较快):tails.mirror.iphh.net......
  • bazel 使用 gtest/gmock 报错 Constraints from @bazel_tools//platforms have been r
    问题描述运行bazeltest命令,遇到错误:“Constraintsfrom@bazel_tools//platformshavebeenremoved.Pleaseuseconstraintsfrom@platformsrepositoryembeddedinBazel,orpreferablydeclaredependencyonhttps://github.com/bazelbuild/platforms.Seehttps://gi......
  • Flowise AI:用于构建LLM流的拖放UI
    推荐:使用NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景什么是FlowiseAI?FlowiseAI是一个开源的UI可视化工具,用于帮助开发LangChain应用程序。在我们详细介绍FlowiseAI之前,让我们快速定义LangChain。LangChain是一个框架/python库,可帮助您利用LLM构建自己的自定义NLP......
  • Lua ipairs和pairs的区别
    在Lua语言中,ipairs和pairs都可以应用于对表和数组的遍历,但它们之间有什么区别呢?首先,我们要知道Lua中的表可以以数字或字符串作为表的键key,但用数字作为key时,可以称为索引id。当以连续不间断的数字索引作为表的key时,这种表就可以称为数组。ipairs就主要应用于数组中,会从1开始有序......
  • SpringBoot对接OpenAI
    SpringBoot对接OpenAI随着人工智能技术的飞速发展,越来越多的开发者希望将智能功能集成到自己的应用中,以提升用户体验和应用的功能。OpenAI作为一家领先的人工智能公司,提供了许多先进的自然语言处理和语言生成模型,其中包括深受欢迎的GPT-3.5模型。本文将介绍如何利用SpringBoot框......
  • AI 一键去水印:教你无限量使用商业图片的技巧
    场景再现刚开始注册账号(啥账号具体不表了,小编不喜欢的那个),想弄个闪亮,好看,有个性化的Logo。作为一名非专美工小白人员,网上翻了很久作图工具,要么就是不好用,好用的大部分都收费。最后没办法,找到一个相对来说用起来顺手而收费的网站。如下是我用该网站自行设计的一个Logo。没错......
  • AI 一键去水印:教你无限量使用商业图片的技巧
    场景再现刚开始注册账号(啥账号具体不表了,小编不喜欢的那个),想弄个闪亮,好看,有个性化的Logo。作为一名非专美工小白人员,网上翻了很久作图工具,要么就是不好用,好用的大部分都收费。最后没办法,找到一个相对来说用起来顺手而收费的网站。如下是我用该网站自行设计的一个Logo。没......
  • OpenAI 已为 GPT-5 申请商标,GPT-4 发布不到半年,GPT-5 就要来了吗?
    据美国专利商标局(USPTO)信息显示,OpenAI已经在7月18日申请注册了“GPT-5”商标。在这份新商标申请中,OpenAI将“GPT-5”描述为一种“用于使用语言模型的可下载计算机软件”。继GPT-4发布之后,它预计将成为OpenAI下一代生成式人工智能版本。申请文件强调其具有“自然语言处理、生成、理......
  • 论文解读(Moka‑ADA)《Moka‑ADA: adversarial domain adaptation with model‑orient
     Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:Moka‑ADA:adversarialdomainadaptation withmodel‑orientedknowledgeadaptation forcross‑domainsentimentanalysis论文作者:MaoyuanZhangXiangLiFeiWu论文来源:2023aRxiv论文地址:download 论......