Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Flash中抓取数据(游戏)_Java_Python_Flash_Screen Scraping - Fatal编程技术网

Java 从Flash中抓取数据(游戏)

Java 从Flash中抓取数据(游戏),java,python,flash,screen-scraping,Java,Python,Flash,Screen Scraping,我看了这个视频,我真的很好奇它是如何表演的。有人有什么想法吗?我的直觉是,他从屏幕上刮取像素(每个“框”一个),然后将其输入某个程序以确定下一步 逐像素抓取是实现这一点的方法,还是有更好的方法?我希望用Java或Python做类似的事情 谢谢是的,我想他扫描了像素。实际上,它应该非常简单,因为你只需要扫描每个移动的新形状。有了这些信息,您可以在本地计算网格,并进一步将其用于AI计算。这可能是最可靠的方法。有很多方法可以检查进程内部发生的事情-直接查看其内部状态和内存-但是它们是特定于平台的,并且

我看了这个视频,我真的很好奇它是如何表演的。有人有什么想法吗?我的直觉是,他从屏幕上刮取像素(每个“框”一个),然后将其输入某个程序以确定下一步

逐像素抓取是实现这一点的方法,还是有更好的方法?我希望用Java或Python做类似的事情


谢谢

是的,我想他扫描了像素。实际上,它应该非常简单,因为你只需要扫描每个移动的新形状。有了这些信息,您可以在本地计算网格,并进一步将其用于AI计算。

这可能是最可靠的方法。有很多方法可以检查进程内部发生的事情-直接查看其内部状态和内存-但是它们是特定于平台的,并且非常容易出现行为异常,因为您处理的是稍有不同的版本的东西-包括不同的flash版本以及不同版本的应用程序。这些方法更常用于exe游戏的“培训师”,通常只有一个或两个版本的可执行文件需要担心

大量的屏幕截图、比较、找出可靠的指示像素似乎是一条可行之路——当然,还要跟踪你预期会发生什么。当应用程序运行时,它应该一次从一个屏幕截图开始工作(希望确保图片一致,没有半更新的视图),然后使用(可能)决策树测试所需的最小像素数

有很多方法可以自动构建高效的决策树,但基于比较屏幕截图手动构建决策树可能更容易。在这种情况下,由于俄罗斯方块通常会在同一位置创建所有新片段,颜色和形状之间的关系为1:1,因此您可能可以从单个像素颜色确定新片段的形状和位置-因此“决策树”可能是错误的术语,真的,在这种情况下-尽管机器人需要从屏幕上读取其他内容


更有趣的是,真正做出游戏性决策的逻辑,因为机器人显然不仅仅是将每一块都插到最明显的位置,而是有意创造机会一次清除3或4行。

你可以进行屏幕清理,我相信你可以侵入flash对象本身,有足够的时间和工具。我只是不知道怎么做