设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3843|回复: 1
打印 上一主题 下一主题

[原创发布] 这样的AI没问题? 事件自战...

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
跳转到指定楼层
1
发表于 2011-3-5 20:03:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
先说一下所谓的"灵感",是几个月前玩的“杀戮之心EXA”,突发奇想,就做了个这个鸡肋到不行的
游戏(姑且也算....),Bug不少...

因为技术原因和时间原因,还有许多没有弄好(比如这个版本的事件几乎没有区别,
打算:比如带的子弹允许多一点,血就少一点,移动速度慢一点),所以请大家帮忙优化和完美这个系统


当然,这个有两个版本,”标准版“以及”附加版“

不过,我”故意“留了个”设定BUG“,运用这个BUG,比较容易赢,不过怎么运用BUG在”附加版“上的事件上有

翠花,上截图!
标准版

附加版


这个游戏是给“事件”赋予“生命”,让它们互相搏斗,只用原脚本和事件几乎不能完成,
所以动手加了几个小方法

在这,基本命令有“射击” “攻击” “防御”
标准版全方法如下:
  1. #==============================================================================
  2. # ■ Game_AI
  3. #------------------------------------------------------------------------------
  4. #  该版本的 AI 模块,AI只是噱头而已,哈哈
  5. #==============================================================================
  6. =begin
  7. 方法诠释
  8.   注:有些方法 我填的是 @event_id
  9.   这是己事件的ID,是在事件脚本上填的
  10.   如在“设置事件移动路线”的脚本栏用,请使用 @id

  11.   Scene_Map
  12.   
  13.   $scene.defend(@event_id)
  14.   命令自身进行防御
  15.   
  16.   $scene.event_shoot(@event_id,angle,show_text=true)
  17.   命令自身进行射击
  18.   angle 方向 单位:度   show_text 是否显示攻击信息
  19.   
  20.   $scene.text_show(text,@event_id)
  21.   显示文章text(比如说些废话)
  22.   
  23.   $scene.event_atk(@event_id,show_text=true)
  24.   命令自身向正前方进行物理攻击  show_text 是否显示攻击信息
  25.   
  26.   Game_Character
  27.   # 在“设置事件移动路线”的脚本栏用,已把“跳跃”和谐了
  28.   
  29.   turn_to(direction)
  30.   朝向direction方向
  31.   
  32.   tomove(x,y)
  33.   自动移动 By OCTSJimmy
  34.   寻路算法 By whbm
  35.   在x,y坐标是可通行的情况下,向x,y移动
  36.   
  37.   jump_new(direction,foot)
  38.   foot在1,2之间
  39.   在目标坐标是可通行情况下,朝direction方向跳跃foot步
  40.   
  41.   Game_AI
  42.   ※ 标准版
  43.   
  44.   Game_AI.check_self_hp(@event_id)
  45.   返回自身HP
  46.   
  47.   Game_AI.check_near_event(@event_id)
  48.   返回离自身事件最近敌人编号(返回值范围 1,2,3)

  49.   Game_AI.check_self_ammo(@event_id)
  50.   返回自身所剩弹药数
  51.   
  52.   Game_AI.check_event_screen_xy(which,who)
  53.   返回目标事件屏幕坐标
  54.   which : 阵营   0:甲方  1:乙方
  55.   who   : 编号   范围     1,2,3
  56.   
  57.   Game_AI.check_enemy(@event_id,direction=0)
  58.   检查四方向直线上是否有敌人
  59.   direction 不填时(或填0) 是检查面向直线上
  60.   direction : 上 下 左 右 : 8 2 4 6 (参考小键盘)
  61.   返回值 true 或 false
  62.   
  63.   Game_AI.check_enemy_forward(@event_id,direction=0)
  64.   检查四方向身前是否有敌人
  65.   direction 不填时(或填0) 是检查面前 填-1时,是任何1面(身前)有敌人
  66.             就返回朝向(2486),没有时返回0
  67.   direction : 上 下 左 右 : 8 2 4 6 (参考小键盘)
  68.   返回值 true 或 false
  69.   
  70.   Game_AI.check_friend(@event_id[,direction])
  71.   检查四方向直线上是否有同伴
  72.   参考 check_enemy
  73.   
  74.   Game_AI.check_fire(which,who)
  75.   检查屏幕上指定目标发射子弹的残留数(目前屏幕上有多少子弹是XX发射的)
  76.   which : 阵营   0:甲方  1:乙方
  77.   who   : 编号   范围     1,2,3
  78.   返回子弹数目 返回值大于等于0
  79.   
  80.   Game_AI.check_atk(which,who)
  81.   检查指定目标是否正在攻击
  82.   which : 阵营   0:甲方  1:乙方
  83.   who   : 编号   范围     1,2,3
  84.   返回子弹数目 返回值大于等于0
  85.   
  86.   Game_AI.check_event_id(which,who)
  87.   返回指定目标的事件编号 用于捕捉x,y坐标 如 $game_map.events[id].x
  88.   which : 阵营   0:甲方  1:乙方
  89.   who   : 编号   范围     1,2,3
  90.   
  91.   Game_AI.check_event_angle(@event_id,enemy,who)
  92.   返回目标事件与己事件角度  一般用于事件射击($scene.event_shoot)
  93.   enemy : 敌人  0 : 自己  1 : 敌人
  94.   who   : 编号    1,2,3
  95.   
  96.   Game_AI.move_possible?(@event_id,direction,foot)
  97.   检查自事件周围是否可通行
  98.   direction 方向 8方向8246 7913
  99.   foot 距离
  100.   如Game_AI.move_possible?(@event_id,7,2)就是返回自身事件左上2格是否
  101.   可通行,一般用于是否可跳跃
  102.   
  103.   Game_AI.check_event_defend(@event_id,enemy,who)
  104.   检查目标事件是否正在防御
  105.   enemy : 0:己  1:敌
  106.   who   :   编号
  107.   
  108.   Game_AI.check_event_hp(@event_id,enemy,who)
  109.   检查目标事件HP
  110.   enemy : 0:己  1:敌
  111.   who   : 编号                返回目标事件HP
  112.   
  113.   ※ 附加版
  114.    略
  115. =end
复制代码


在地图上,有双方各3个事件,在事件名称为"甲1XX"“甲2XX"甲3XX"”乙1XX“"乙2XX""乙3XX"
其中XX是你决定的名字

在事件第一页上要总共等待100帧,然后A开关打开(随便什么)执行你的事件

附加版较标准而言只是多了几个比较实用的方法(真的只有几个...)
比如:检查距离敌目标事件之间有没有同伴,   以防误伤(本来 返回目标事件与己事件角度 是附加版里面的...)

到了这,这么设计”AI“呢?我给一个智商很低”例子“

这样的AI没问题? 废话,智商很低...
怎么设计出智商较高的AI,这就要看你了!!

注意:游戏里面不要”作弊“,比如给自己无偿加血
好像没什么了
附:标准版
事件自战 - 标准版.rar (203.64 KB, 下载次数: 214)
   附加版
事件自战 - 附加版.rar (216.18 KB, 下载次数: 102)

评分

参与人数 1星屑 +50 收起 理由
鑫晴 + 50 赞!

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见

Lv1.梦旅人

梦石
0
星屑
50
在线时间
310 小时
注册时间
2012-10-14
帖子
187
2
发表于 2014-11-28 17:14:41 | 只看该作者
这个好冷几乎一个人回复都没有(好可怜

点评

不要挖坟啦……  发表于 2014-11-29 00:27
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-30 11:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表