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

Project1

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

求一个SLG,大十字,米字,直线 等范围的算法,有知道么

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
跳转到指定楼层
1
发表于 2009-4-26 06:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

梦石
0
星屑
55
在线时间
5 小时
注册时间
2007-7-31
帖子
42
2
发表于 2009-4-26 06:30:43 | 只看该作者
详细点哦
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
3
 楼主| 发表于 2009-4-27 21:38:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
4
发表于 2009-4-27 21:47:37 | 只看该作者
  1. #==============================================================================
  2. # ■ Grids
  3. #------------------------------------------------------------------------------
  4. #  获得各种范围的模块。
  5. #==============================================================================

  6. module Grids
  7.   #==========================================================================
  8.   # ■ 目标范围算法
  9.   #==========================================================================
  10.   # 图例解析
  11.   # ■ 范围格子
  12.   # ● 范围格子&确定格子
  13.   # ○ 确定格子
  14.   # ◎ 战斗者位置
  15.   #--------------------------------------------------------------------------
  16.   # ● 获得菱形范围
  17.   # range为2的范围
  18.   # □□□□□
  19.   # □□■□□
  20.   # □■●■□
  21.   # □□■□□
  22.   # □□□□□
  23.   #--------------------------------------------------------------------------
  24.   def self.get_diamond_grids(grid, range)
  25.     # 射程小于等于0的话,返回空数组
  26.     if range <= 0
  27.       return []
  28.     end
  29.     # 初始化范围格集合
  30.     available_grids = get_squar_grids(grid, range)
  31.     for each_grid in available_grids.clone
  32.       if each_grid.distance(grid) >= range
  33.         available_grids.delete(each_grid)
  34.       end
  35.     end
  36.     # 添加菱形上半部分及平行部分
  37.     #for line in 1..(range)
  38.     #  width = line * 2 - 1
  39.     #  grid_y = grid.y + range - line + 1
  40.     #  for grid_x in (grid.x - line + 1)..(grid.x + line - 1)
  41.     #    # 防止生成地图外格子
  42.     #    next if !$game_map.valid?(grid_x, grid_y)
  43.     #    distance = (grid.x - grid_x).abs + (grid.y - grid_y).abs
  44.     #    available_grids.push Grid.new(grid_x, grid_y, distance)
  45.     #  end
  46.     #end
  47.     # 添加菱形下半部分
  48.     #for line in 1..(range - 1)
  49.     #  width = line * 2 - 1
  50.     #  grid_y = grid.y - (range - line + 1)
  51.     #  for grid_x in (grid.x - line + 1)..(grid.x + line - 1)
  52.     #    # 防止生成地图外格子
  53.     #    next if !$game_map.valid?(grid_x, grid_y)
  54.     #    distance = (grid.x - grid_x).abs + (grid.y - grid_y).abs
  55.     #    available_grids.push Grid.new(grid_x, grid_y, distance)
  56.     #  end
  57.     #end
  58.     return available_grids
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 获得正方形范围
  62.   # range为2的范围
  63.   # □□□□□
  64.   # □■■■□
  65.   # □■●■□
  66.   # □■■■□
  67.   # □□□□□
  68.   #--------------------------------------------------------------------------
  69.   def self.get_squar_grids(grid, range, valid = true)
  70.     # 射程小于等于0的话,返回空数组
  71.     if range <= 0
  72.       return []
  73.     end
  74.     available_grids = []
  75.     for x in (grid.x - range)..(grid.x + range)
  76.       for y in (grid.y - range)..(grid.y + range)
  77.         # 防止生成地图外格子
  78.         if !$game_map.valid?(grid.x, grid.y) and valid
  79.           next
  80.         end
  81.         distance = (grid.x - x).abs + (grid.y - y).abs
  82.         available_grids.push Grid.new(x, y, distance)
  83.       end
  84.     end
  85.     return available_grids
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 获得直线范围
  89.   # range为2的范围
  90.   # □□□□
  91.   # ■●◎□
  92.   # □□□□
  93.   #--------------------------------------------------------------------------
  94.   def self.get_linear_grids(battler_grid, target_grid, range)
  95.     # 射程小于等于0的话,返回空数组
  96.     if range <= 0 or target_grid.distance(battler_grid) == 0
  97.       return []
  98.     end
  99.     # 初始化范围格集合
  100.     available_grids = []
  101.     # 获得战斗者格子与目标格子的直线函数
  102.     funtion = Math.get_2_grids_function(battler_grid, target_grid)
  103.     a = funtion[0]
  104.     b = funtion[1]
  105.     c = funtion[2]
  106.     # 取得正方形范围
  107.     squar_grids = self.get_squar_grids(target_grid, range, false)
  108.     # 排序
  109.     squar_grids = self.sort_grids(squar_grids)
  110.     # 循环正方形范围,如果直线过格子,并且格子不和战斗者格子在同一方向的话,添加
  111.     number = 0
  112.     for grid in squar_grids
  113.       # 只添加range个格子
  114.       if number >= range
  115.         break
  116.       end
  117.       if Math.overlap?(a, b, c, grid) and !Math.grids_same_side?(target_grid, battler_grid, grid)
  118.         number += 1
  119.         if $game_map.valid?(grid.x, grid.y)
  120.           available_grids.push(grid)
  121.         end
  122.       end
  123.     end
  124.     return available_grids
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 获得横线范围
  128.   # range为2的范围
  129.   # □□□□□
  130.   # □■●■□
  131.   # □□◎□□
  132.   # □□□□□
  133.   #--------------------------------------------------------------------------
  134.   def self.get_transverse_grids(battler_grid, target_grid, range)
  135.     # 射程小于等于0的话,返回空数组
  136.     if range <= 0 or target_grid.distance(battler_grid) == 0
  137.       return []
  138.     end
  139.     # 初始化范围格集合
  140.     available_grids = []
  141.     # 获得战斗者格子与目标格子的直线函数
  142.     funtion = Math.get_2_grids_function(battler_grid, target_grid)
  143.     a = funtion[0]
  144.     b = funtion[1]
  145.     c = funtion[2]
  146.     # 取得直线过目标格子的垂线
  147.     funtion_90 = Math.get_90_linear(a, b, c, target_grid.center_x, target_grid.center_y)
  148.     a = funtion_90[0]
  149.     b = funtion_90[1]
  150.     c = funtion_90[2]
  151.     # 取得正方形范围
  152.     squar_grids = self.get_squar_grids(target_grid, range, false)
  153.     # 排序
  154.     squar_grids = self.sort_grids(squar_grids)
  155.     # 循环正方形范围,如果直线过格子的话,添加
  156.     number = 0
  157.     true_range = range * 2 - 1
  158.     for grid in squar_grids
  159.       # 只添加range个格子
  160.       if number >= true_range
  161.         break
  162.       end
  163.       if Math.overlap?(a, b, c, grid)
  164.         number += 1
  165.         if $game_map.valid?(grid.x, grid.y)
  166.           available_grids.push(grid)
  167.         end
  168.       end
  169.     end
  170.     return available_grids
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 获得十字范围
  174.   # range为3的范围
  175.   # □□□□□□□
  176.   # □□□■□□□
  177.   # □□□■□□□
  178.   # □■■●■■□
  179.   # □□□■□□□
  180.   # □□□■□□□
  181.   # □□□□□□□
  182.   #--------------------------------------------------------------------------
  183.   def self.get_cross_grids(target_grid, range)
  184.     # 射程小于等于0的话,返回空数组
  185.     if range <= 0
  186.       return []
  187.     end
  188.     # 初始化范围格集合
  189.     available_grids = []
  190.     # 添加平行部分
  191.     for x in (target_grid.x - range + 1)..(target_grid.x + range - 1)
  192.       # 防止生成地图外格子
  193.       next if !$game_map.valid?(x, target_grid.y)
  194.       distance = (x - target_grid.x).abs
  195.       available_grids.push Grid.new(x, target_grid.y, distance)
  196.     end
  197.     # 添加垂直部分
  198.     for y in (target_grid.y - range + 1)..(target_grid.y + range - 1)
  199.       # 防止生成地图外格子
  200.       next if !$game_map.valid?(target_grid.x, y)
  201.       distance = (y - target_grid.y).abs
  202.       # 防止重复生成
  203.       next if distance == 0
  204.       available_grids.push Grid.new(target_grid.x, y, distance)
  205.     end
  206.     return available_grids
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # ● 获得扇形范围(范围需要比较大才看得出是扇形..)
  210.   # range为2,正切为1的范围
  211.   # □□□□□
  212.   # □■■■□
  213.   # □□●□□
  214.   # □□◎□□
  215.   # □□□□□
  216.   #--------------------------------------------------------------------------
  217.   def self.get_fan_grids(battler_grid, target_grid, tan, range)
  218.     # 射程小于等于0的话,返回空数组
  219.     if range <= 0 or target_grid.distance(battler_grid) == 0
  220.       return []
  221.     end
  222.     # 取得半径
  223.     radius = range * Math.cos(Math.atan(tan))
  224.     # 初始化范围格集合
  225.     available_grids = []
  226.     # 获得战斗者格子与目标格子的直线函数
  227.     funtion = Math.get_2_grids_function(battler_grid, target_grid)
  228.     a = funtion[0]
  229.     b = funtion[1]
  230.     c = funtion[2]
  231.     # 获得直线与X轴夹角
  232.     if b == 0
  233.       slope_radian = Math::PI / 2
  234.     else
  235.       slope_radian = Math.atan(-a / b.to_f)
  236.     end
  237.     # 获得扇形夹角的二分之一
  238.     deflective_radian = Math.atan(tan)
  239.     # 获得扇形靠近Y轴的边
  240.     radian = slope_radian + deflective_radian
  241.     slope = Math.tan(radian)
  242.     side1 = Math.get_linear_function(target_grid.center_x, target_grid.center_y, target_grid.center_x + 1, slope + target_grid.center_y)
  243.     side1_grids = []
  244.     # 获得扇形靠近X轴的边
  245.     radian = slope_radian - deflective_radian
  246.     slope = Math.tan(radian)
  247.     side2 = Math.get_linear_function(target_grid.center_x, target_grid.center_y, target_grid.center_x + 1, slope + target_grid.center_y)
  248.     side2_grids = []
  249.     # 取得正方形范围
  250.     squar_grids = self.get_squar_grids(target_grid, radius.ceil)
  251.     # 排序
  252.     squar_grids = self.sort_grids(squar_grids)
  253.     a1 = side1[0]
  254.     b1 = side1[1]
  255.     c1 = side1[2]
  256.     a2 = side2[0]
  257.     b2 = side2[1]
  258.     c2 = side2[2]
  259.     # 循环正方形范围
  260.     for grid in squar_grids
  261.       # 超出范围的不添加
  262.       distance = (grid.center_x - target_grid.center_x) ** 2 + (grid.center_y - target_grid.center_y) ** 2
  263.       if distance > radius ** 2
  264.         next
  265.       end
  266.       # 只添加同方向格子
  267.       if Math.grids_same_side?(target_grid, battler_grid, grid)
  268.         next
  269.       end
  270.       # 添加边上的格子
  271.       if Math.overlap?(a1, b1, c1, grid)
  272.         side1_grids.push(grid)
  273.         available_grids.push(grid)
  274.       elsif Math.overlap?(a2, b2, c2, grid)
  275.         side2_grids.push(grid)
  276.         available_grids.push(grid)
  277.       end
  278.     end
  279.     if side1_grids == [] or side2_grids == []
  280.       return available_grids
  281.     end
  282.     # 循环正方形范围
  283.     for grid in squar_grids
  284.       # 超出范围的不添加
  285.       distance = (grid.center_x - target_grid.center_x) ** 2 + (grid.center_y - target_grid.center_y) ** 2
  286.       if distance > radius ** 2
  287.         next
  288.       end
  289.       # 只添加同方向格子
  290.       if Math.grids_same_side?(target_grid, battler_grid, grid)
  291.         next
  292.       end
  293.       # 添加中间的格子
  294.       if Math.same_side?(a1, b1, c1, grid, side2_grids[side2_grids.size-1]) and
  295.         Math.same_side?(a2, b2, c2, grid, side1_grids[side1_grids.size-1])
  296.         available_grids.push(grid)
  297.       end
  298.     end
  299.     return available_grids
  300.   end
  301.   #--------------------------------------------------------------------------
  302.   # ● 以grid的point由小到大进行排序
  303.   #--------------------------------------------------------------------------
  304.   def self.sort_grids(grids)
  305.     grids.sort! do |a, b|
  306.       a.point <=> b.point
  307.     end
  308.     return grids
  309.   end
  310.   #--------------------------------------------------------------------------
  311.   # ● 通过通行列表对格子进行遮挡处理
  312.   #--------------------------------------------------------------------------
  313.   def self.block_grids(target_grid, grids, map_cost_list)
  314.     fixed_grids = grids.clone
  315.     # 循环所有格子
  316.     for grid in grids
  317.       # 获得战斗者格子与格子的直线函数
  318.       funtion = Math.get_2_grids_function(target_grid, grid)
  319.       a = funtion[0]
  320.       b = funtion[1]
  321.       c = funtion[2]
  322.       delete_flag = false
  323.       for x in 0...map_cost_list.xsize
  324.         break if delete_flag == true
  325.         for y in 0...map_cost_list.ysize
  326.           break if delete_flag == true
  327.           if (x - target_grid.x).abs + (y - target_grid.y).abs >
  328.             (grid.x - target_grid.x).abs + (grid.y - target_grid.y).abs
  329.             next
  330.           end
  331.           if map_cost_list[x, y] == 30000
  332.             block = Grid.new(x, y)
  333.             if Math.overlap?(a, b, c, block)
  334.               if Math.grids_same_side?(target_grid, block, grid)
  335.                 fixed_grids.delete(grid)
  336.                 delete_flag = true
  337.               end
  338.             end
  339.           end
  340.         end
  341.       end
  342.     end
  343.     return fixed_grids
  344.   end
  345. end
复制代码

  1. #==============================================================================
  2. # ■ Grid
  3. #------------------------------------------------------------------------------
  4. #  SLG地图格子的类。
  5. #==============================================================================

  6. class Grid
  7.   attr_accessor :x                       # x坐标
  8.   attr_accessor :y                       # y坐标
  9.   attr_accessor :point                   # 移动用
  10.   def initialize(x, y, point = 0)
  11.     @x = x
  12.     @y = y
  13.     @point = point
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ◎中心坐标,应用到解析计算中
  17.   #--------------------------------------------------------------------------
  18.   def center_x
  19.     return @x + 0.5
  20.   end
  21.   def center_y
  22.     return @y + 0.5
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ◎比较坐标集
  26.   #--------------------------------------------------------------------------
  27.   def compare_grids(grids)
  28.     for grid in grids
  29.       if @x == grid.x and @y == grid.y
  30.         return grid
  31.       end
  32.     end
  33.     return false
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ◎取得距离
  37.   #--------------------------------------------------------------------------
  38.   def distance(other_grid_or_x, or_y = 0)
  39.     if other_grid_or_x.is_a?(Grid)
  40.       return ((@x - other_grid_or_x.x).abs + (@y - other_grid_or_x.y).abs)
  41.     else
  42.       return ((@x - other_grid_or_x).abs + (@y - or_y).abs)
  43.     end
  44.   end
  45. end
复制代码

  1. #==============================================================================
  2. # ■ Math
  3. #------------------------------------------------------------------------------
  4. #  支持浮点运算的模块。
  5. #==============================================================================
  6. module Math
  7.   #--------------------------------------------------------------------------
  8.   # ● 获得积点(0~1)
  9.   # number : 目标数字
  10.   # array : 对比的数组
  11.   #--------------------------------------------------------------------------
  12.   def self.rate_number(number, array)
  13.     return 0.5 if array == [] or number.nil?
  14.     max = array.max
  15.     min = array.min
  16.     return 0.5 if max - min == 0
  17.     return (number - min)/(max - min)
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 返回弧度对应的角度
  21.   #--------------------------------------------------------------------------
  22.   def self.radian_to_angle(radian)
  23.     return radian * 180 / PI
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 返回角度对应的弧度
  27.   #--------------------------------------------------------------------------
  28.   def self.angle_to_radian(angle)
  29.     return angle * PI / 180
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 返回一次函数(ax+by+c=0)的[a,b,c]
  33.   # x1, y1, x2, y2 : 直线上两点的坐标
  34.   #--------------------------------------------------------------------------
  35.   def self.get_linear_function(x1, y1, x2, y2)
  36.     a = y2 - y1
  37.     b = -(x2 - x1)
  38.     c = y1 * (x2 - x1) - x1 * (y2 - y1)
  39.     return [a, b, c]
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 返回过两个格子中心的一次函数(ax+by+c=0)的[a,b,c]
  43.   # grid1,grid2 : 两个格子
  44.   #--------------------------------------------------------------------------
  45.   def self.get_2_grids_function(grid1, grid2)
  46.     return self.get_linear_function(grid1.center_x, grid1.center_y,
  47.     grid2.center_x, grid2.center_y)
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 已知x与一次函数(ax+by+c=0),返回y
  51.   #--------------------------------------------------------------------------
  52.   def self.get_y(a, b, c, x)
  53.     return -(c + a * x) / b.to_f
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 返回与一次函数(ax+by+c=0)成直角,并且交于x,y的一次函数的[a,b,c]
  57.   # y不可等于0
  58.   #--------------------------------------------------------------------------
  59.   def self.get_90_linear(a, b, c, x, y)
  60.     if b == 0
  61.       return self.get_linear_function(x, y, 0, y)
  62.     elsif a == 0
  63.       return self.get_linear_function(x, y, x, 0)
  64.     else
  65.       a2 = 1
  66.       b2 = -a / b.to_f
  67.       c2 = -(a2 * x + b2 * y)
  68.       return [a2, b2, c2]
  69.     end
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 判断一次函数(ax+by+c=0)是否通过grid
  73.   #--------------------------------------------------------------------------
  74.   def self.overlap?(a, b, c, grid)
  75.     if b == 0
  76.       if -c / a > grid.x and -c / a < grid.x + 1
  77.         return true
  78.       end
  79.     elsif -a / b >= 0
  80.       y1 = self.get_y(a, b, c, grid.x)
  81.       y2 = self.get_y(a, b, c, grid.x + 1)
  82.       if y1 < (grid.y + 1) and y2 > grid.y
  83.         return true
  84.       end
  85.     elsif -a / b < 0
  86.       y1 = self.get_y(a, b, c, grid.x)
  87.       y2 = self.get_y(a, b, c, grid.x + 1)
  88.       if y1 > grid.y and y2 < (grid.y + 1)
  89.         return true
  90.       end
  91.     end
  92.     return false
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 判断grid是否与target_grid在一次函数(ax+by+c=0)的同一方向
  96.   #--------------------------------------------------------------------------
  97.   def self.same_side?(a, b, c, target_grid, grid)
  98.     if b < 0.1 and b > -0.1
  99.       x_intercept = -c / a
  100.       if target_grid.center_x > x_intercept and grid.center_x > x_intercept
  101.         return true
  102.       elsif target_grid.center_x < x_intercept and grid.center_x < x_intercept
  103.         return true
  104.       end
  105.     else
  106.       if target_grid.center_y > self.get_y(a, b, c, target_grid.center_x) and
  107.         grid.center_y > self.get_y(a, b, c, grid.center_x)
  108.         return true
  109.       elsif target_grid.center_y < self.get_y(a, b, c, target_grid.center_x) and
  110.         grid.center_y < self.get_y(a, b, c, grid.center_x)
  111.         return true
  112.       end
  113.     end
  114.     return false
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 判断grid是否与target_grid在同一方向
  118.   # 分割线为target_grid与ori_grid的连线的垂线,垂线过ori_grid中心
  119.   #--------------------------------------------------------------------------
  120.   def self.grids_same_side?(ori_grid, target_grid, grid)
  121.     connecting_line = self.get_2_grids_function(ori_grid, target_grid)
  122.     a = connecting_line[0]
  123.     b = connecting_line[1]
  124.     c = connecting_line[2]
  125.     parting_line = self.get_90_linear(a, b, c, ori_grid.center_x, ori_grid.center_y)
  126.     a = parting_line[0]
  127.     b = parting_line[1]
  128.     c = parting_line[2]
  129.     return self.same_side?(a, b, c, target_grid, grid)
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● SLG用的数字增加
  133.   #--------------------------------------------------------------------------
  134.   def self.plus_number(number1, number2)
  135.     if number2.is_a?(Float)
  136.       number1 *= number2
  137.     else
  138.       number1 += number2
  139.     end
  140.     return number1.round
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 以(0,0)为中心,逆时针方向旋转angle度,返回旋转后的[x, y]
  144.   #--------------------------------------------------------------------------
  145.   def self.rotate(x, y, angle)
  146.     r1 = angle * PI / 180
  147.     r2 = r1 - self.atan((x/y.to_f).abs)
  148.     radius = self.sqrt(x**2 + y**2)
  149.     x = (radius * self.sin(r2)).round
  150.     y = (radius * self.cos(r2)).round
  151.     return [x, y]
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 获得直线(ax+by+c=0)与半径为r,中心为(0,0)的圆的交点
  155.   # 返回两个交点的坐标的数组,无解时返回nil
  156.   #--------------------------------------------------------------------------
  157.   def self.solve_linear_circle(a, b, c, r)
  158.     boo = 4*(b*c)**2 + 4*(c**2-a**2*r**2)*(a**2+b**2)
  159.     if boo < 0
  160.       return
  161.     end
  162.     y1 = (-2*b*c + self.sqrt(boo)) / (2.0 * (a**2 + b**2))
  163.     if a == 0
  164.       x1 = 0
  165.     else
  166.       x1 = - (b * y1 + c) / a
  167.     end
  168.     y2 = (-2*b*c - self.sqrt(boo)) / (2.0 * (a**2 + b**2))
  169.     if a == 0
  170.       x2 = 0
  171.     else
  172.       x2 = - (b * y2 + c) / a
  173.     end
  174.     return [x1, y1, x2, y2]
  175.   end
  176. end
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-16
帖子
157
5
发表于 2009-4-27 22:13:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
6
 楼主| 发表于 2009-4-27 22:40:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
7
发表于 2009-4-27 22:41:20 | 只看该作者
http://rpg.blue/viewthread.php?tid=12035
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-15 23:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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