安卓游戏--浅塘之辅助开发(C/S模式)

来源:互联网 发布:在线二次元av淘宝 编辑:程序博客网 时间:2024/04/29 10:21

x00_闲谈

  • 浅塘这款游戏吧,是在大学时一个高中心仪女生推荐的,当时玩着还行,但是懒得动手去解,就开始了辅助开发之路。

  • 在此之前,有过一次《数据结构》的课程设计,选的是八数码问题。利用了广度优先搜索,就是遍历所有可能,当然加入些许优化(如双向搜索)。没有选择深度搜索,也是为了找出最优解。当然网上还是有很多其他解法。

  • 鉴于块的操作限制略高, 这里我也就使用了广度优先搜索的思想(其他我也不会啊(:з」∠) )纯小白。

x01_浅塘游戏规则简介

  • 下面图中有很多横着的竖着的块,还有个红色的鱼块,通过移动改变块的位置,来使红色的鱼块通过右边出口就算通关。
    浅塘辅助

  • 浅塘目前有两种游戏模式,一种不限操作步数(滑动一次,距离无要求),另一种需要在要求步数内完成,但要求步数也不是最优步数来为难玩家,但使用了最少步数肯定还是会有奖励的ヽ(・ω・´メ)。那么这个博客就是来求最优解的。

x02_实现目标

  • 搜索最优解,并自动移动快,来通关。如下图

这里写图片描述

x03_开发前的功能实现分析

  • 安卓端实现悬浮窗操作
  • 安卓截屏实现
  • 使用数据结构表示正方形内所有鱼块信息————封装成类
  • 解析游戏屏幕所有块的信息———包装成类对象
  • 服务器端的搜索算法
  • 搜索过的解存放进数据库
  • 客户端与服务器端的通信 ———- 解析完成后,发送至服务器搜索并将结果返回至客户端
  • 安卓端模拟滑动操作

ps:为什么选择C/S模式,在开发安卓端前已使用C++写过这个算法,步数很多也能轻易解出,此时还不是最优解,最优解在开发服务器端后加的。本想直接移植到安卓本机运行,却发现运行效率不能满足需求,步数少还可以,多了就撒手不干解不出了。利用这次机会,先练练手。


x04_功能具体实现


  1. 实现悬浮窗
  2. 安卓截屏实现
  3. 数据结构表示
  4. 解析游戏鱼块布局
  5. 搜索算法
  6. C/S通信
  7. 安卓模拟屏幕操作

GitHub:

  • Client:PondPlug
  • Server:PondPlugServer

停更 ——– 17.7.1

原创粉丝点击