#============================================================================== # ■ Soldier #------------------------------------------------------------------------------ # 群战系统处理每个士兵的 #============================================================================== class Soldier #-------------------------------------------------------------------------- # ● 定义实例变量 #-------------------------------------------------------------------------- attr_accessor :hpmax attr_accessor :hp attr_accessor :ap attr_accessor :manamax attr_accessor :mana attr_accessor :x attr_accessor :y attr_accessor :event_id attr_accessor :soldier_id attr_accessor :enermy_soldier_id #-------------------------------------------------------------------------- # ● 初始化数据 #-------------------------------------------------------------------------- def initialize(event_id,soldier_id) @hpmax = 300 @hp = @hpmax @ap = 70 @manamax = 0 @mana = @manamax @event_id = event_id @soldier_id = soldier_id @x = $game_map.events[@event_id].x @y = $game_map.events[@event_id].y @enermy_soldier_id = 1 $my_id_list[@soldier_id] = @event_id #往hash添加本士兵ID的事件ID end #-------------------------------------------------------------------------- # ● 返回事件ID #-------------------------------------------------------------------------- def get_event_id(soldier_id) evernt_id = $my_id_list [soldier_id] return evernt_id end #使用后返回对应士兵id的事件id #-------------------------------------------------------------------------- # ● 更新数据 #-------------------------------------------------------------------------- def update @x = $game_map.events[@event_id].x @y = $game_map.events[@event_id].y end #-------------------------------------------------------------------------- # ● 判断距离本事件最近的敌人ID #-------------------------------------------------------------------------- def check_enermy distance_least = 1000 for i in 1..$敌方士兵数量 x = $enermy[i].x y = $enermy[i].y distance = (@x-x).abs + (@y-y).abs if distance < distance_least #判断是否为最短的距离 distance_least = distance distance_least_id = i end end return distance_least_id #返回敌人的士兵ID end end
QQ截图20140120184527.jpg (60.96 KB, 下载次数: 4)
当敌我数量为4或以上时就弹错
QQ截图20140120184547.jpg (86.12 KB, 下载次数: 4)
每个我军士兵的事件页1
QQ截图20140120184556.jpg (121.04 KB, 下载次数: 3)
每个我军士兵的事件页2
QQ截图20140120184606.jpg (52.16 KB, 下载次数: 4)
准备工作的事件
QQ图片20140120184438.jpg (14.23 KB, 下载次数: 4)
弹错的描述
QQ图片20140120184501.jpg (30.14 KB, 下载次数: 5)
当场上敌我在三个以内就没事儿
999.46 KB, 下载次数: 35
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |