赞 | 1 |
VIP | 246 |
好人卡 | 87 |
积分 | 1 |
经验 | 34142 |
最后登录 | 2015-1-15 |
在线时间 | 323 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 323 小时
- 注册时间
- 2010-8-21
- 帖子
- 666
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
先说一下所谓的"灵感",是几个月前玩的“杀戮之心EXA”,突发奇想,就做了个这个鸡肋到不行的
游戏(姑且也算....),Bug不少...
因为技术原因和时间原因,还有许多没有弄好(比如这个版本的事件几乎没有区别,
打算:比如带的子弹允许多一点,血就少一点,移动速度慢一点),所以请大家帮忙优化和完美这个系统
当然,这个有两个版本,”标准版“以及”附加版“
不过,我”故意“留了个”设定BUG“,运用这个BUG,比较容易赢,不过怎么运用BUG在”附加版“上的事件上有
翠花,上截图!
标准版
附加版
这个游戏是给“事件”赋予“生命”,让它们互相搏斗,只用原脚本和事件几乎不能完成,
所以动手加了几个小方法
在这,基本命令有“射击” “攻击” “防御”
标准版全方法如下:
- #==============================================================================
- # ■ Game_AI
- #------------------------------------------------------------------------------
- # 该版本的 AI 模块,AI只是噱头而已,哈哈
- #==============================================================================
- =begin
- 方法诠释
- 注:有些方法 我填的是 @event_id
- 这是己事件的ID,是在事件脚本上填的
- 如在“设置事件移动路线”的脚本栏用,请使用 @id
- Scene_Map
-
- $scene.defend(@event_id)
- 命令自身进行防御
-
- $scene.event_shoot(@event_id,angle,show_text=true)
- 命令自身进行射击
- angle 方向 单位:度 show_text 是否显示攻击信息
-
- $scene.text_show(text,@event_id)
- 显示文章text(比如说些废话)
-
- $scene.event_atk(@event_id,show_text=true)
- 命令自身向正前方进行物理攻击 show_text 是否显示攻击信息
-
- Game_Character
- # 在“设置事件移动路线”的脚本栏用,已把“跳跃”和谐了
-
- turn_to(direction)
- 朝向direction方向
-
- tomove(x,y)
- 自动移动 By OCTSJimmy
- 寻路算法 By whbm
- 在x,y坐标是可通行的情况下,向x,y移动
-
- jump_new(direction,foot)
- foot在1,2之间
- 在目标坐标是可通行情况下,朝direction方向跳跃foot步
-
- Game_AI
- ※ 标准版
-
- Game_AI.check_self_hp(@event_id)
- 返回自身HP
-
- Game_AI.check_near_event(@event_id)
- 返回离自身事件最近敌人编号(返回值范围 1,2,3)
- Game_AI.check_self_ammo(@event_id)
- 返回自身所剩弹药数
-
- Game_AI.check_event_screen_xy(which,who)
- 返回目标事件屏幕坐标
- which : 阵营 0:甲方 1:乙方
- who : 编号 范围 1,2,3
-
- Game_AI.check_enemy(@event_id,direction=0)
- 检查四方向直线上是否有敌人
- direction 不填时(或填0) 是检查面向直线上
- direction : 上 下 左 右 : 8 2 4 6 (参考小键盘)
- 返回值 true 或 false
-
- Game_AI.check_enemy_forward(@event_id,direction=0)
- 检查四方向身前是否有敌人
- direction 不填时(或填0) 是检查面前 填-1时,是任何1面(身前)有敌人
- 就返回朝向(2486),没有时返回0
- direction : 上 下 左 右 : 8 2 4 6 (参考小键盘)
- 返回值 true 或 false
-
- Game_AI.check_friend(@event_id[,direction])
- 检查四方向直线上是否有同伴
- 参考 check_enemy
-
- Game_AI.check_fire(which,who)
- 检查屏幕上指定目标发射子弹的残留数(目前屏幕上有多少子弹是XX发射的)
- which : 阵营 0:甲方 1:乙方
- who : 编号 范围 1,2,3
- 返回子弹数目 返回值大于等于0
-
- Game_AI.check_atk(which,who)
- 检查指定目标是否正在攻击
- which : 阵营 0:甲方 1:乙方
- who : 编号 范围 1,2,3
- 返回子弹数目 返回值大于等于0
-
- Game_AI.check_event_id(which,who)
- 返回指定目标的事件编号 用于捕捉x,y坐标 如 $game_map.events[id].x
- which : 阵营 0:甲方 1:乙方
- who : 编号 范围 1,2,3
-
- Game_AI.check_event_angle(@event_id,enemy,who)
- 返回目标事件与己事件角度 一般用于事件射击($scene.event_shoot)
- enemy : 敌人 0 : 自己 1 : 敌人
- who : 编号 1,2,3
-
- Game_AI.move_possible?(@event_id,direction,foot)
- 检查自事件周围是否可通行
- direction 方向 8方向8246 7913
- foot 距离
- 如Game_AI.move_possible?(@event_id,7,2)就是返回自身事件左上2格是否
- 可通行,一般用于是否可跳跃
-
- Game_AI.check_event_defend(@event_id,enemy,who)
- 检查目标事件是否正在防御
- enemy : 0:己 1:敌
- who : 编号
-
- Game_AI.check_event_hp(@event_id,enemy,who)
- 检查目标事件HP
- enemy : 0:己 1:敌
- who : 编号 返回目标事件HP
-
- ※ 附加版
- 略
- =end
复制代码
在地图上,有双方各3个事件,在事件名称为"甲1XX"“甲2XX"甲3XX"”乙1XX“"乙2XX""乙3XX"
其中XX是你决定的名字
在事件第一页上要总共等待100帧,然后A开关打开(随便什么)执行你的事件
附加版较标准而言只是多了几个比较实用的方法(真的只有几个...)
比如:检查距离敌目标事件之间有没有同伴, 以防误伤(本来 返回目标事件与己事件角度 是附加版里面的...)
到了这,这么设计”AI“呢?我给一个智商很低”例子“
这样的AI没问题? 废话,智商很低...
怎么设计出智商较高的AI,这就要看你了!!
注意:游戏里面不要”作弊“,比如给自己无偿加血
好像没什么了
附:标准版
事件自战 - 标准版.rar
(203.64 KB, 下载次数: 214)
附加版
事件自战 - 附加版.rar
(216.18 KB, 下载次数: 102)
|
评分
-
查看全部评分
|