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

Project1

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

[有事请教] 添加了5个地形标志def spawn_groups_ambush 如何修改

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6798
在线时间
1177 小时
注册时间
2015-8-15
帖子
690
跳转到指定楼层
1
发表于 2024-6-2 16:03:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 金芒芒 于 2024-6-3 08:30 编辑

添加了防守方五个地形标志 和2个进攻者地形标志 如何修改def spawn_groups_ambush 这段脚本

       when 'Terrain_Tags01'
          case s[0]
          when 2,4,6,8
            case @temp_terrain.pattern
            when 0 then s[0]==2 ? (0) : s[0]==4 ? (4) : s[0]==6 ? (8)  : (12)
            when 1 then s[0]==2 ? (1) : s[0]==4 ? (5) : s[0]==6 ? (9)  : (13)
            when 2 then s[0]==2 ? (2) : s[0]==4 ? (6) : s[0]==6 ? (10) : (14)
            when 3 then s[0]==2 ? (3) : s[0]==4 ? (7) : s[0]==6 ? (11) : (15)

    case mode
    #
    when 1..2
      get_spawn_areas  #获得出生区域  
      spawn_groups #出生组   
    when 3
      get_spawn_areas_terr_tag #获取出生区域领域标签
      spawn_groups_ambush  #出生群_伏击
    when 4
      
    when 5
      
    end



RUBY 代码复制
  1. #--------------------------------------------------------
  2.   # 获得出生点位置(地形标记)
  3.   # 15 埋伏模式 防守方出生点
  4.   # 14 埋伏模式 攻击方出生点 正
  5.   # 13 埋伏模式 攻击方出生点 侧 1
  6.   # 12 埋伏模式 攻击方出生点 侧 2
  7.   # 11
  8.   # 10
  9.   # 9
  10.   # 8
  11.   # 7
  12.   # 6
  13.   #--------------------------------------------------------  
  14.   def get_spawn_areas_terr_tag#def获取出生区域领土;范围标记
  15.     @efs_ambush_defender_spawn_0 = []#@efs伏击防御者出生点=[]
  16.     @efs_ambush_defender_spawn_1 = []
  17.     @efs_ambush_defender_spawn_2 = []
  18.     @efs_ambush_defender_spawn_3 = []
  19.     @efs_ambush_defender_spawn_4 = []
  20.     @efs_ambush_attacker_spawn_0 = []#@efs伏击攻击者出生点0=[]
  21.     @efs_ambush_attacker_spawn_1 = []#@efs伏击攻击者出生点1=[]
  22.     @efs_ambush_attacker_spawn_2 = []#@efs伏击攻击者出生点2=[]
  23.     @efs_ambush_attacker_spawn_3 = []#@efs伏击攻击者出生点3=[]
  24.     @efs_ambush_attacker_spawn_4 = []#@efs伏击攻击者出生点4=[]
  25.  
  26.     for x in 0..$game_map.width-1#对于0..$游戏地图中的x。宽度-1
  27.       for y in 0..$game_map.height-1#对于0..$游戏地图中的y。高度-1
  28.        # 案例$游戏地图。地形标记(x,y)
  29.         case $game_map.terrain_tag(x,y)
  30.         when 15
  31.         # @efs伏击防御者出生点。推动([x,y])
  32.         @efs_ambush_defender_spawn_0.push ([x,y])
  33.         when 14
  34.         @efs_ambush_defender_spawn_1.push ([x,y])
  35.         when 13
  36.         @efs_ambush_defender_spawn_2.push ([x,y])
  37.         when 12
  38.         @efs_ambush_defender_spawn_3.push ([x,y])
  39.         when 11
  40.         @efs_ambush_defender_spawn_4.push ([x,y])
  41.         when 10
  42.           #@efs伏击攻击者生成0。推动([x,y])
  43.         @efs_ambush_attacker_spawn_0.push ([x,y])
  44.         when 9
  45.          # @efs伏击攻击者生成1。推动([x,y])
  46.         @efs_ambush_attacker_spawn_1.push ([x,y])
  47.         when 8
  48.           #@efs伏击攻击者生成2。推动([x,y])
  49.         @efs_ambush_attacker_spawn_2.push ([x,y])
  50.         when 7
  51.         @efs_ambush_attacker_spawn_3.push ([x,y])
  52.         when 6
  53.         @efs_ambush_attacker_spawn_4.push ([x,y])
  54.         end
  55.       end
  56.     end  
  57.  
  58.  
  59.   end
  60.   #--------------------------------------------------------
  61.   # EFS系统:出生小队 (MODE: 伏击模式)
  62.   #--------------------------------------------------------
  63.   def spawn_groups_ambush#定义出生点队组伏击模式↑35
  64.     @current_leader = nil #@当前领导者=零
  65.     #获得空地
  66.     attacker_groups = @attacker.member#攻击者组=@攻击者。成员
  67.     defender_groups = @defender.member#防守队员组=@防守队员。成员
  68.     #空地=@efs伏击防御者出生点。克隆
  69.     space = @efs_ambush_defender_spawn.clone
  70.     #p space[0],space[1],space[2]
  71.     #领导check
  72.     #对于0..@团队组中的我。大小-1
  73.     for i in 0.. @team_groups.size-1
  74.       #对于0..@团队组[i]中的j。战士大小-1 #对于0..@团队组[i]中的j。战士大小-1
  75.       for j in 0.. @team_groups[i].fighter.size-1 #对于0..@团队组[i]中的j。战士大小-1
  76.         #@当前领导者=@团队团队[i]。战斗者[j]如果@团队[i].战斗者[j].是a?(EFS英雄)而不是@团队[i].战士[j].死了?
  77.         @current_leader = @team_groups[i].fighter[j] if @team_groups[i].fighter[j].is_a?(EFS_Hero) and not @team_groups[i].fighter[j].dead?
  78.       end #for j in 0.. @team_groups[i].fighter.size-1
  79.     end  #for i in 0.. @team_groups.size-
  80.    #对于0中的i..防守队员组。大小-1  
  81.    for i in 0.. defender_groups.size-1
  82.     # 对于0..防守队员组[i]中的j。战斗者尺寸-1
  83.     for j in 0.. defender_groups[i].fighter.size-1
  84.       if space.size == 0#如果空间。大小==0
  85.         print "无法散开队伍进行战斗"#打印"无法散开队伍进行战斗"
  86.       else#否则
  87.         a = space[0] #a=空地[0]
  88.         #下一步,如果防御者组[i.]战斗者[j.死了?
  89.         next if defender_groups[i].fighter[j].dead?
  90.         #生成战斗者
  91.         #使efs变戏法般地出现(a[0],a[1],DEF”,“防守队员”,2,防守队员组[i].战斗者[j]]
  92.         conjure_efs(a[0],a[1],"DEF","theplayer",2,defender_groups[i].fighter[j])
  93.         #防御者组[i]战士[j].设置队长组织随机数据(@当前首领,i+1)
  94.         defender_groups[i].fighter[j].setImoprtantData(@current_leader,i+1)
  95.         #防守队员组[i].战斗机[j].设定目标_xy(a[0],a[1])
  96.         defender_groups[i].fighter[j].set_goal_xy(a[0],a[1])
  97.  
  98.  
  99.         #删除空地
  100.         space.delete([a[0],a[1]])#空地删除([a[0],a[1]])
  101.       end #if
  102.      end #for j in 0.. @team_groups[i].fighter.size-1
  103.    end  #for i in 0.. @team_groups.size-1
  104.    ###########
  105.    numbers = 0 #数字=0
  106.    #对于0..@敌军组中的我。大小-1
  107.    for i in 0.. @enermy_groups.size-1
  108.    # 对于0..@敌军组[i]中的j。战士尺寸-1
  109.     for j in 0.. @enermy_groups[i].fighter.size-1
  110.        numbers+=1#数字+=1
  111.     end
  112.   end
  113.   #三分之一切割=数字/3
  114.    one_third_cut =  numbers/3
  115.  
  116.    #空格0=@efs_伏击_攻击_出生点_0
  117.    space0 = @efs_ambush_attacker_spawn_0
  118.    space1 = @efs_ambush_attacker_spawn_1
  119.    space2 = @efs_ambush_attacker_spawn_2
  120.  
  121.    #计算器数字=0
  122.    counter_for_num = 0
  123.    #对于0..攻击者组中的i。尺寸-1
  124.    for i in 0.. attacker_groups.size-1
  125.     #对于0..攻击者组中的i。战斗者尺寸-1
  126.     for j in 0.. attacker_groups[i].fighter.size-1
  127.       #make_map_move(space)
  128.       if space.size == 0 #如果空地大小==0
  129.         print "无法散开队伍进行战斗" #打印"无法散开队伍进行战斗"
  130.       else#否则
  131.         #如果计数器的数字<三分之一切割
  132.         if counter_for_num < one_third_cut
  133.              a = space0[0] #a=空地0[0]
  134.         #然后 计数器的数字<三分之一切割*2
  135.         elsif counter_for_num < one_third_cut*2
  136.           a = space1[0]#a=空地1[0]
  137.         else #否则
  138.           a = space2[0]#a=空地2[0]
  139.         end  
  140.  
  141.  
  142.         #counter2 += 1
  143.         #下一步,如果攻击组[i]。战斗机[j]。死了?
  144.         next if attacker_groups[i].fighter[j].dead?
  145.         #使efs变戏法般地出现(a[0],a[1],DEF”,“攻击队员”,2,攻击队员组[i].战斗者[j]]
  146.         conjure_efs(a[0],a[1],"ATK","player",8,attacker_groups[i].fighter[j])
  147.         #攻击者组[i]战士[j].设置队长组织随机数据(@当前首领,i+1)
  148.         attacker_groups[i].fighter[j].setImoprtantData(@current_leader,i+1)
  149.        ##攻击队员组[i].战斗者[j].设定目标_xy(a[0],a[1])
  150.         attacker_groups[i].fighter[j].set_goal_xy(a[0],a[1])
  151.         #删除空地
  152.         if counter_for_num < one_third_cut#如果计数器的数字<三分之一切割
  153.           space0.delete([a[0],a[1]])#空格0.删除([a[0],a[1]])
  154.         #然后 计数器的数字<三分之一切割*2   
  155.         elsif counter_for_num < one_third_cut*2
  156.           space1.delete([a[0],a[1]])##空格1.删除([a[0],a[1]])
  157.         else
  158.           space2.delete([a[0],a[1]])##空格2.删除([a[0],a[1]])
  159.         end  
  160.  
  161.  
  162.       end #if
  163.       counter_for_num+=1#数字+=1的计数器
  164.      end #for j in 0.. @team_groups[i].fighter.size-1
  165.    end  #for i in 0.. @team_groups.size-1
  166.  
  167.     # 重置
  168.     @spriteset.dispose#@精灵放置。处理
  169.     @spriteset = Spriteset_Map.new#@精灵放置=精灵放置地图.新建
  170.  
  171.   end


原来的脚本
  1.   #--------------------------------------------------------
  2.   # 获得出生点位置(地形标记)
  3.   # 15 埋伏模式 防守方出生点
  4.   # 14 埋伏模式 攻击方出生点 正
  5.   # 13 埋伏模式 攻击方出生点 侧 1
  6.   # 12 埋伏模式 攻击方出生点 侧 2
  7.   # 11
  8.   # 10
  9.   #--------------------------------------------------------  
  10.   def get_spawn_areas_terr_tag#def获取出生区域领土;范围标记
  11.     @efs_ambush_defender_spawn = []#@efs伏击防御者出生点=[]
  12.     @efs_ambush_attacker_spawn_0 = []#@efs伏击攻击者出生点0=[]
  13.     @efs_ambush_attacker_spawn_1 = []#@efs伏击攻击者出生点1=[]
  14.     @efs_ambush_attacker_spawn_2 = []#@efs伏击攻击者出生点2=[]
  15.    
  16.     for x in 0..$game_map.width-1#对于0..$游戏地图中的x。宽度-1
  17.       for y in 0..$game_map.height-1#对于0..$游戏地图中的y。高度-1
  18.        # 案例$游戏地图。地形标记(x,y)
  19.         case $game_map.terrain_tag(x,y)
  20.         when 15
  21.           # @efs伏击防御者出生点。推动([x,y])
  22.           @efs_ambush_defender_spawn.push ([x,y])
  23.         when 14
  24.           #@efs伏击攻击者生成0。推动([x,y])
  25.           @efs_ambush_attacker_spawn_0.push ([x,y])
  26.         when 13
  27.          # @efs伏击攻击者生成1。推动([x,y])
  28.           @efs_ambush_attacker_spawn_1.push ([x,y])
  29.         when 12
  30.           #@efs伏击攻击者生成2。推动([x,y])
  31.           @efs_ambush_attacker_spawn_2.push ([x,y])
  32.         end
  33.       end
  34.     end  
  35.    
  36.    
  37.   end
  38.   #--------------------------------------------------------
  39.   # EFS系统:出生小队 (MODE: 伏击模式)
  40.   #--------------------------------------------------------
  41.   def spawn_groups_ambush#定义出生点队组伏击模式
  42.     #@当前领导者=零
  43.     @current_leader = nil
  44.     #获得空地
  45.    
  46.     #攻击者组=@攻击者。成员
  47.     attacker_groups = @attacker.member
  48.     #防守队员组=@防守队员。成员
  49.     defender_groups = @defender.member
  50.    
  51.     #空地=@efs伏击防御者出生点。克隆
  52.     space = @efs_ambush_defender_spawn.clone
  53.     #p space[0],space[1],space[2]
  54.    
  55.     #领导check
  56.     #对于0..@团队组中的我。大小-1
  57.     for i in 0.. @team_groups.size-1
  58.       #对于0..@团队组[i]中的j。战士大小-1
  59.       for j in 0.. @team_groups[i].fighter.size-1
  60. #@当前领导者=@团队团队[i]。战斗者[j]如果@团队[i].战斗者[j].是a?(EFS英雄)而不是@团队[i].战士[j].死了?
  61.         @current_leader = @team_groups[i].fighter[j] if @team_groups[i].fighter[j].is_a?(EFS_Hero) and not @team_groups[i].fighter[j].dead?
  62.       end #for j in 0.. @team_groups[i].fighter.size-1
  63.     end  #for i in 0.. @team_groups.size-
  64.    #对于0中的i..防守队员组。大小-1  
  65.    for i in 0.. defender_groups.size-1
  66.     # 对于0..防守队员组[i]中的j。战斗者尺寸-1
  67.     for j in 0.. defender_groups[i].fighter.size-1
  68.       if space.size == 0#如果空间。大小==0
  69.         print "无法散开队伍进行战斗"#打印"无法散开队伍进行战斗"
  70.       else#否则
  71.         a = space[0] #a=空地[0]
  72.         #下一步,如果防御者组[i.]战斗者[j.死了?
  73.         next if defender_groups[i].fighter[j].dead?
  74.         #生成战斗者
  75.         #使efs变戏法般地出现(a[0],a[1],DEF”,“防守队员”,2,防守队员组[i].战斗者[j]]
  76.         conjure_efs(a[0],a[1],"DEF","theplayer",2,defender_groups[i].fighter[j])
  77.         #防御者组[i]战士[j].设置队长组织随机数据(@当前首领,i+1)
  78.         defender_groups[i].fighter[j].setImoprtantData(@current_leader,i+1)
  79.         #防守队员组[i].战斗机[j].设定目标_xy(a[0],a[1])
  80.         defender_groups[i].fighter[j].set_goal_xy(a[0],a[1])
  81.         
  82.         
  83.         #删除空地
  84.         space.delete([a[0],a[1]])#空地删除([a[0],a[1]])
  85.       end #if
  86.      end #for j in 0.. @team_groups[i].fighter.size-1
  87.    end  #for i in 0.. @team_groups.size-1
  88.    ###########
  89.    numbers = 0 #数字=0
  90.    #对于0..@敌军组中的我。大小-1
  91.    for i in 0.. @enermy_groups.size-1
  92.    # 对于0..@敌军组[i]中的j。战士尺寸-1
  93.     for j in 0.. @enermy_groups[i].fighter.size-1
  94.        numbers+=1#数字+=1
  95.     end
  96.   end
  97.   #三分之一切割=数字/3
  98.    one_third_cut =  numbers/3
  99.    
  100.    #空格0=@efs_伏击_攻击_出生点_0
  101.    space0 = @efs_ambush_attacker_spawn_0
  102.    space1 = @efs_ambush_attacker_spawn_1
  103.    space2 = @efs_ambush_attacker_spawn_2
  104.    
  105.    #计算器数字=0
  106.    counter_for_num = 0
  107.    #对于0..攻击者组中的i。尺寸-1
  108.    for i in 0.. attacker_groups.size-1
  109.     #对于0..攻击者组中的i。战斗者尺寸-1
  110.     for j in 0.. attacker_groups[i].fighter.size-1
  111.       #make_map_move(space)
  112.       if space.size == 0 #如果空地大小==0
  113.         print "无法散开队伍进行战斗" #打印"无法散开队伍进行战斗"
  114.       else#否则
  115.         #如果计数器的数字<三分之一切割
  116.         if counter_for_num < one_third_cut
  117.              a = space0[0] #a=空地0[0]
  118.         #然后 计数器的数字<三分之一切割*2
  119.         elsif counter_for_num < one_third_cut*2
  120.           a = space1[0]#a=空地1[0]
  121.         else #否则
  122.           a = space2[0]#a=空地2[0]
  123.         end  
  124.          
  125.         
  126.         #counter2 += 1
  127.         #下一步,如果攻击组[i]。战斗机[j]。死了?
  128.         next if attacker_groups[i].fighter[j].dead?
  129.         #使efs变戏法般地出现(a[0],a[1],DEF”,“攻击队员”,2,攻击队员组[i].战斗者[j]]
  130.         conjure_efs(a[0],a[1],"ATK","player",8,attacker_groups[i].fighter[j])
  131.         #攻击者组[i]战士[j].设置队长组织随机数据(@当前首领,i+1)
  132.         attacker_groups[i].fighter[j].setImoprtantData(@current_leader,i+1)
  133.        ##攻击队员组[i].战斗者[j].设定目标_xy(a[0],a[1])
  134.         attacker_groups[i].fighter[j].set_goal_xy(a[0],a[1])
  135.         #删除空地
  136.         if counter_for_num < one_third_cut#如果计数器的数字<三分之一切割
  137.           space0.delete([a[0],a[1]])#空格0.删除([a[0],a[1]])
  138.         #然后 计数器的数字<三分之一切割*2   
  139.         elsif counter_for_num < one_third_cut*2
  140.           space1.delete([a[0],a[1]])##空格1.删除([a[0],a[1]])
  141.         else
  142.           space2.delete([a[0],a[1]])##空格2.删除([a[0],a[1]])
  143.         end  
  144.         
  145.         
  146.       end #if
  147.       counter_for_num+=1#数字+=1的计数器
  148.      end #for j in 0.. @team_groups[i].fighter.size-1
  149.    end  #for i in 0.. @team_groups.size-1
  150.   
  151.     # 重置
  152.     @spriteset.dispose#@精灵放置。处理
  153.     @spriteset = Spriteset_Map.new#@精灵放置=精灵放置地图.新建
  154.    
  155.   end  
复制代码

Lv4.逐梦者

梦石
0
星屑
6798
在线时间
1177 小时
注册时间
2015-8-15
帖子
690
2
 楼主| 发表于 2024-6-3 08:26:08 | 只看该作者
本帖最后由 金芒芒 于 2024-6-3 08:28 编辑

就是位置还不精准Grassland;7,8;27,17;5,5;51,47;1,2,1,1;[<Tags37>]

  1.   #--------------------------------------------------------
  2.   # 获得出生点位置(地形标记)
  3.   # 15 埋伏模式 防守方出生点
  4.   # 14 埋伏模式 攻击方出生点 正
  5.   # 13 埋伏模式 攻击方出生点 侧 1
  6.   # 12 埋伏模式 攻击方出生点 侧 2
  7.   # 11
  8.   # 10
  9.   #--------------------------------------------------------  
  10.   def get_spawn_areas_terr_tag#def获取出生区域领土;范围标记
  11.     @efs_ambush_defender_spawn_0 = []#@efs伏击防御者出生点=[]
  12.     @efs_ambush_defender_spawn_1 = []
  13.     @efs_ambush_defender_spawn_2 = []
  14.     @efs_ambush_defender_spawn_3 = []
  15.     @efs_ambush_defender_spawn_4 = []
  16.     @efs_ambush_attacker_spawn_0 = []#@efs伏击攻击者出生点0=[]
  17.     @efs_ambush_attacker_spawn_1 = []#@efs伏击攻击者出生点1=[]
  18.     @efs_ambush_attacker_spawn_2 = []#@efs伏击攻击者出生点2=[]
  19.     @efs_ambush_attacker_spawn_3 = []#@efs伏击攻击者出生点3=[]
  20.     @efs_ambush_attacker_spawn_4 = []#@efs伏击攻击者出生点4=[]

  21.     for x in 0..$game_map.width-1#对于0..$游戏地图中的x。宽度-1
  22.       for y in 0..$game_map.height-1#对于0..$游戏地图中的y。高度-1
  23.        # 案例$游戏地图。地形标记(x,y)
  24.         case $game_map.terrain_tag(x,y)
  25.         when 15
  26.         # @efs伏击防御者出生点。推动([x,y])
  27.         @efs_ambush_defender_spawn.push_0([x,y])
  28.         when 14
  29.         @efs_ambush_defender_spawn_1.push ([x,y])
  30.         when 13
  31.         @efs_ambush_defender_spawn_2.push ([x,y])
  32.         when 12
  33.         @efs_ambush_defender_spawn_3.push ([x,y])
  34.         when 11
  35.         @efs_ambush_defender_spawn_4.push ([x,y])
  36.         when 10
  37.           #@efs伏击攻击者生成0。推动([x,y])
  38.         @efs_ambush_attacker_spawn_0.push ([x,y])
  39.         when 9
  40.          # @efs伏击攻击者生成1。推动([x,y])
  41.         @efs_ambush_attacker_spawn_1.push ([x,y])
  42.         when 8
  43.           #@efs伏击攻击者生成2。推动([x,y])
  44.         @efs_ambush_attacker_spawn_2.push ([x,y])
  45.         when 7
  46.         @efs_ambush_attacker_spawn_3.push ([x,y])
  47.         when 6
  48.         @efs_ambush_attacker_spawn_4.push ([x,y])
  49.         end
  50.       end
  51.     end  
  52.    
  53.    
  54.   end
  55.   #--------------------------------------------------------
  56.   # EFS系统:出生小队 (MODE: 伏击模式)
  57.   #--------------------------------------------------------
  58.   def spawn_groups_ambush#定义出生点队组伏击模式↑35
  59.     @current_leader = nil #@当前领导者=零
  60.     #获得空地
  61.     attacker_groups = @attacker.member#攻击者组=@攻击者。成员
  62.     defender_groups = @defender.member#防守队员组=@防守队员。成员
  63.     #空地=@efs伏击防御者出生点。克隆
  64.     space = @efs_ambush_defender_spawn_0.clone
  65.     space = @efs_ambush_defender_spawn_1.clone
  66.     space = @efs_ambush_defender_spawn_2.clone
  67.     space = @efs_ambush_defender_spawn_3.clone
  68.     space = @efs_ambush_defender_spawn_4.clone

  69.     #p space[0],space[1],space[2]
  70.     #领导check
  71.     #对于0..@团队组中的我。大小-1
  72.     for i in 0.. @team_groups.size-1
  73.       #对于0..@团队组[i]中的j。战士大小-1 #对于0..@团队组[i]中的j。战士大小-1
  74.       for j in 0.. @team_groups[i].fighter.size-1 #对于0..@团队组[i]中的j。战士大小-1
  75.         #@当前领导者=@团队团队[i]。战斗者[j]如果@团队[i].战斗者[j].是a?(EFS英雄)而不是@团队[i].战士[j].死了?
  76.         @current_leader = @team_groups[i].fighter[j] if @team_groups[i].fighter[j].is_a?(EFS_Hero) and not @team_groups[i].fighter[j].dead?
  77.       end #for j in 0.. @team_groups[i].fighter.size-1
  78.     end  #for i in 0.. @team_groups.size-
  79.    #对于0中的i..防守队员组。大小-1  
  80.    for i in 0.. defender_groups.size-1
  81.     # 对于0..防守队员组[i]中的j。战斗者尺寸-1
  82.     for j in 0.. defender_groups[i].fighter.size-1
  83.       if space.size == 0#如果空间。大小==0
  84.         print "无法散开队伍进行战斗"#打印"无法散开队伍进行战斗"
  85.       else#否则
  86.         a = space[0] #a=空地[0]
  87.         #下一步,如果防御者组[i.]战斗者[j.死了?
  88.         next if defender_groups[i].fighter[j].dead?
  89.         #生成战斗者
  90.         #使efs变戏法般地出现(a[0],a[1],DEF”,“防守队员”,2,防守队员组[i].战斗者[j]]
  91.         conjure_efs(a[0],a[1],"DEF","theplayer",2,defender_groups[i].fighter[j])
  92.         #防御者组[i]战士[j].设置队长组织随机数据(@当前首领,i+1)
  93.         defender_groups[i].fighter[j].setImoprtantData(@current_leader,i+1)
  94.         #防守队员组[i].战斗机[j].设定目标_xy(a[0],a[1])
  95.         defender_groups[i].fighter[j].set_goal_xy(a[0],a[1])
  96.         
  97.         
  98.         #删除空地
  99.         space.delete([a[0],a[1]])#空地删除([a[0],a[1]])
  100.       end #if
  101.      end #for j in 0.. @team_groups[i].fighter.size-1
  102.    end  #for i in 0.. @team_groups.size-1
  103.    ###########
  104.    numbers = 0 #数字=0
  105.    #对于0..@敌军组中的我。大小-1
  106.    for i in 0.. @enermy_groups.size-1
  107.    # 对于0..@敌军组[i]中的j。战士尺寸-1
  108.     for j in 0.. @enermy_groups[i].fighter.size-1
  109.        numbers+=1#数字+=1
  110.     end
  111.   end
  112.   #三分之一切割=数字/3
  113.    one-fifth_cut =  numbers/5  #one_third_cut =  numbers/3
  114.    
  115.    #空格0=@efs_伏击_攻击_出生点_0
  116.    space0 = @efs_ambush_attacker_spawn_0
  117.    space1 = @efs_ambush_attacker_spawn_1
  118.    space2 = @efs_ambush_attacker_spawn_2
  119.    space3 = @efs_ambush_attacker_spawn_3
  120.    space4 = @efs_ambush_attacker_spawn_4
  121.    
  122.    #计算器数字=0
  123.    counter_for_num = 0
  124.    #对于0..攻击者组中的i。尺寸-1
  125.    for i in 0.. attacker_groups.size-1
  126.     #对于0..攻击者组中的i。战斗者尺寸-1
  127.     for j in 0.. attacker_groups[i].fighter.size-1
  128.       #make_map_move(space)
  129.       if space.size == 0 #如果空地大小==0
  130.         print "无法散开队伍进行战斗" #打印"无法散开队伍进行战斗"
  131.       else#否则
  132.         #如果计数器的数字<三分之一切割
  133.         if counter_for_num < one-fifth_cut*2#one_third_cut
  134.              a = space0[0] #a=空地0[0]
  135.         #然后 计数器的数字<三分之一切割*2
  136.         elsif counter_for_num < one-fifth_cut*2#one_third_cut*2
  137.           a = space1[0]#a=空地1[0]
  138.         elsif counter_for_num < one-fifth_cut*2#否则
  139.           a = space2[0]#a=空地2[0]
  140.         elsif counter_for_num < one-fifth_cut*2
  141.          a = space3[0]
  142.         else
  143.         a = space4[0]
  144.         end  
  145.          
  146.         
  147.         #counter2 += 1
  148.         #下一步,如果攻击组[i]。战斗机[j]。死了?
  149.         next if attacker_groups[i].fighter[j].dead?
  150.         #使efs变戏法般地出现(a[0],a[1],DEF”,“攻击队员”,2,攻击队员组[i].战斗者[j]]
  151.         conjure_efs(a[0],a[1],"ATK","player",8,attacker_groups[i].fighter[j])
  152.         #攻击者组[i]战士[j].设置队长组织随机数据(@当前首领,i+1)
  153.         attacker_groups[i].fighter[j].setImoprtantData(@current_leader,i+1)
  154.        ##攻击队员组[i].战斗者[j].设定目标_xy(a[0],a[1])
  155.         attacker_groups[i].fighter[j].set_goal_xy(a[0],a[1])
  156.         #删除空地
  157.         if counter_for_num < one_third_cut#如果计数器的数字<三分之一切割
  158.           space0.delete([a[0],a[1]])#空格0.删除([a[0],a[1]])
  159.         #然后 计数器的数字<三分之一切割*2   
  160.         elsif counter_for_num < one_third_cut*2
  161.           space1.delete([a[0],a[1]])##空格1.删除([a[0],a[1]])
  162.          elsif counter_for_num < one_third_cut*2
  163.           space2.delete([a[0],a[1]])##空格2.删除([a[0],a[1]])
  164.        elsif counter_for_num < one_third_cut*2
  165.          space3.delete([a[0],a[1]])
  166.        else
  167.         space4.delete([a[0],a[1]])
  168.         end  
  169.         
  170.         
  171.       end #if
  172.       counter_for_num+=1#数字+=1的计数器
  173.      end #for j in 0.. @team_groups[i].fighter.size-1
  174.    end  #for i in 0.. @team_groups.size-1
  175.   
  176.     # 重置
  177.     @spriteset.dispose#@精灵放置。处理
  178.     @spriteset = Spriteset_Map.new#@精灵放置=精灵放置地图.新建
  179.    
  180.   end  
复制代码

7.png (48.76 KB, 下载次数: 4)

7.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-6-26 21:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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