关灯 护眼 字体:

第125章:采集精灵

为浮玉山属于危险的“开放性地图”,在这里,异帮人员之间无需开启攻击模式便可以任意攻击且不增加罪恶值。因此在浮玉山采集药材随时会遭遇攻击,经常有玩家为了争几棵草药争得头破血流。正因为如此,孙轶民和神女平时几乎都不会去那里采集。

    对于计算机程序来说,更是无法应对浮玉山这种复杂情况。所以他的思路中暂时排除了浮玉山,决定先考虑设计在普通地图采集药材的程序。

    仔细思索一番,其实这个程序设计难度并不高。大致思路就是:在野外地图按照一定的路线巡逻,搜索可以采集的药材的位置,然后前往目标附近,实施采集动作。

    如何识别野外地图的药材生长的位置?药材在地图上是随机生长的。因此,需要程序灵活判断。这里的解决方案,基于对服务器返回的实时数据的解读。

    按照孙轶民在光潋开发游戏的实践中了解到的网游运行的工作原理,角色接受周围视野范围内的信息的是实时动态的。

    具体来说:随着角色在地图上的移动,以角色为中心的附近一定距离范围内(视野范围内)的实时情况会以数据形式从服务器发送到客户端,这些数据包括附近的玩家角色,怪物,资源等等信息。

    客户端根据这些数据,动态更新玩家角色视野范围内的图形内容。

    在这些数据信息中自然可以找到药材位置的相关内容。基于黎允儿提供的数据解码模块,做到这一点并没有障碍。

    获取到药材的位置信息后,程序便可以通过发送模拟的键盘和鼠标消息,操纵角色移动到目标位置,并实施采集动作。

    那么还要解决如何持续采集的问题。

    由于药材被采集之后需要一段时间后才能重新生长出来,因此,如果长时间在一个位置附近采集,必然最终会导致视野范围内所有药材被采集完毕。此时,可以让程序驱动角色移动到另一片区域。

    那么如何选择移动方向?可以随机选择一个方向直线前进,直到视野范围内出现可以采集的药材为止。

    当然,这样的搜索方式有些笨,效率不一定高。不过作为第一版程序,先采用这个笨办法也无妨,后续可以改进。

    程序设计的大致思路就是如此。

    关于采集的具体过程,程序面临两个问题需要解决:一是采集药材的过程中会有小怪骚扰纠缠,二是有可能容易遭遇敌对玩家攻击。三是野外也有一定的小概率出现精英怪物,以及周日出现的世界boss。




本章未完,请点击下一页继续阅读》》