查看: 841|回复: 1

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

[复制链接]
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2024-6-2 16:03:55 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 金芒芒 于 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



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

    for x in 0..$game_map.width-1#对于0..$游戏地图中的x。宽度-1
      for y in 0..$game_map.height-1#对于0..$游戏地图中的y。高度-1
       # 案例$游戏地图。地形标记(x,y)
        case $game_map.terrain_tag(x,y)
        when 15
        # @efs伏击防御者出生点。推动([x,y])
        @efs_ambush_defender_spawn_0.push ([x,y])
        when 14
        @efs_ambush_defender_spawn_1.push ([x,y])
        when 13
        @efs_ambush_defender_spawn_2.push ([x,y])
        when 12
        @efs_ambush_defender_spawn_3.push ([x,y])
        when 11
        @efs_ambush_defender_spawn_4.push ([x,y])
        when 10
          #@efs伏击攻击者生成0。推动([x,y])
        @efs_ambush_attacker_spawn_0.push ([x,y])
        when 9
         # @efs伏击攻击者生成1。推动([x,y])
        @efs_ambush_attacker_spawn_1.push ([x,y])
        when 8
          #@efs伏击攻击者生成2。推动([x,y])
        @efs_ambush_attacker_spawn_2.push ([x,y])
        when 7
        @efs_ambush_attacker_spawn_3.push ([x,y])
        when 6
        @efs_ambush_attacker_spawn_4.push ([x,y])
        end
      end
    end  
   
   
  end
  #--------------------------------------------------------
  # EFS系统:出生小队 (MODE: 伏击模式)
  #--------------------------------------------------------
  def spawn_groups_ambush#定义出生点队组伏击模式↑35
    @current_leader = nil #@当前领导者=零
    #获得空地
    attacker_groups = @attacker.member#攻击者组=@攻击者。成员
    defender_groups = @defender.member#防守队员组=@防守队员。成员
    #空地=@efs伏击防御者出生点。克隆
    space = @efs_ambush_defender_spawn.clone
    #p space[0],space[1],space[2]
    #领导check
    #对于0..@团队组中的我。大小-1
    for i in 0.. @team_groups.size-1
      #对于0..@团队组中的j。战士大小-1 #对于0..@团队组中的j。战士大小-1
      for j in 0.. @team_groups.fighter.size-1 #对于0..@团队组中的j。战士大小-1
        #@当前领导者=@团队团队。战斗者[j]如果@团队.战斗者[j].是a?(EFS英雄)而不是@团队.战士[j].死了?
        @current_leader = @team_groups.fighter[j] if @team_groups.fighter[j].is_a?(EFS_Hero) and not @team_groups.fighter[j].dead?
      end #for j in 0.. @team_groups.fighter.size-1
    end  #for i in 0.. @team_groups.size-
   #对于0中的i..防守队员组。大小-1  
   for i in 0.. defender_groups.size-1
    # 对于0..防守队员组中的j。战斗者尺寸-1
    for j in 0.. defender_groups.fighter.size-1
      if space.size == 0#如果空间。大小==0
        print "无法散开队伍进行战斗"#打印"无法散开队伍进行战斗"
      else#否则
        a = space[0] #a=空地[0]
        #下一步,如果防御者组[i.]战斗者[j.死了?
        next if defender_groups.fighter[j].dead?
        #生成战斗者
        #使efs变戏法般地出现(a[0],a[1],DEF”,“防守队员”,2,防守队员组.战斗者[j]]
        conjure_efs(a[0],a[1],"DEF","theplayer",2,defender_groups.fighter[j])
        #防御者组战士[j].设置队长组织随机数据(@当前首领,i+1)
        defender_groups.fighter[j].setImoprtantData(@current_leader,i+1)
        #防守队员组.战斗机[j].设定目标_xy(a[0],a[1])
        defender_groups.fighter[j].set_goal_xy(a[0],a[1])
        
        
        #删除空地
        space.delete([a[0],a[1]])#空地删除([a[0],a[1]])
      end #if
     end #for j in 0.. @team_groups.fighter.size-1
   end  #for i in 0.. @team_groups.size-1
   ###########
   numbers = 0 #数字=0
   #对于0..@敌军组中的我。大小-1
   for i in 0.. @enermy_groups.size-1
   # 对于0..@敌军组中的j。战士尺寸-1
    for j in 0.. @enermy_groups.fighter.size-1
       numbers+=1#数字+=1
    end
  end
  #三分之一切割=数字/3
   one_third_cut =  numbers/3
   
   #空格0=@efs_伏击_攻击_出生点_0
   space0 = @efs_ambush_attacker_spawn_0
   space1 = @efs_ambush_attacker_spawn_1
   space2 = @efs_ambush_attacker_spawn_2
   
   #计算器数字=0
   counter_for_num = 0
   #对于0..攻击者组中的i。尺寸-1
   for i in 0.. attacker_groups.size-1
    #对于0..攻击者组中的i。战斗者尺寸-1
    for j in 0.. attacker_groups.fighter.size-1
      #make_map_move(space)
      if space.size == 0 #如果空地大小==0
        print "无法散开队伍进行战斗" #打印"无法散开队伍进行战斗"
      else#否则
        #如果计数器的数字<三分之一切割
        if counter_for_num < one_third_cut
             a = space0[0] #a=空地0[0]
        #然后 计数器的数字<三分之一切割*2
        elsif counter_for_num < one_third_cut*2
          a = space1[0]#a=空地1[0]
        else #否则
          a = space2[0]#a=空地2[0]
        end  
         
        
        #counter2 += 1
        #下一步,如果攻击组。战斗机[j]。死了?
        next if attacker_groups.fighter[j].dead?
        #使efs变戏法般地出现(a[0],a[1],DEF”,“攻击队员”,2,攻击队员组.战斗者[j]]
        conjure_efs(a[0],a[1],"ATK","player",8,attacker_groups.fighter[j])
        #攻击者组战士[j].设置队长组织随机数据(@当前首领,i+1)
        attacker_groups.fighter[j].setImoprtantData(@current_leader,i+1)
       ##攻击队员组.战斗者[j].设定目标_xy(a[0],a[1])
        attacker_groups.fighter[j].set_goal_xy(a[0],a[1])
        #删除空地
        if counter_for_num < one_third_cut#如果计数器的数字<三分之一切割
          space0.delete([a[0],a[1]])#空格0.删除([a[0],a[1]])
        #然后 计数器的数字<三分之一切割*2   
        elsif counter_for_num < one_third_cut*2
          space1.delete([a[0],a[1]])##空格1.删除([a[0],a[1]])
        else
          space2.delete([a[0],a[1]])##空格2.删除([a[0],a[1]])
        end  
        
        
      end #if
      counter_for_num+=1#数字+=1的计数器
     end #for j in 0.. @team_groups.fighter.size-1
   end  #for i in 0.. @team_groups.size-1
  
    # 重置
    @spriteset.dispose#@精灵放置。处理
    @spriteset = Spriteset_Map.new#@精灵放置=精灵放置地图.新建
   
  end  
[/pre]

原来的脚本
  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  
复制代码
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 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
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部