请选择 进入手机版 | 继续访问电脑版

 找回密码
 点一下
查看: 1345|回复: 9

求教一个关于判断单位出生区域的问题

[复制链接]
发表于 2013-7-24 12:38:46 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 gsylthj 于 2013-7-27 15:27 编辑

我要做的地图,包含一个N乘N的区域矩阵。这些区域,每一个都是一个格子。玩家可以在里面放置建筑(每个区域只能放一个建筑)。我把这个区域编了号,从1到N*N,这样我就可以知道任意一个区域上下左右的编号。


现在我要在玩家放建筑后,获得被放置区域的编号。个人还没有想到如何实现它。不知道有没有达人可以解惑?先谢过了。
发表于 2013-7-24 19:32:25 | 显示全部楼层
循环整数a 1-xx 执行动作
 迴圈-动作
  循环整数b 1-xx 执行动作
   迴圈-动作
    若-条件
     区域(x,x)存在(触发部队)
    则-动作
     ???????
     退出迴圈//或者可以用【自订代码:exitwhen true
    否则-动作
     无动作
回复

使用道具 举报

 楼主| 发表于 2013-7-24 20:17:02 | 显示全部楼层
多谢多谢,原来就是这么简单。有的时候真的是思路上被点拨一下,立刻就豁然开朗……
回复

使用道具 举报

发表于 2013-7-24 20:26:47 | 显示全部楼层
本帖最后由 Simonade 于 2013-7-24 20:33 编辑

。。。区域矩阵坐标(Nx,Ny),区域矩阵数组:rectangle[NxNy];每一个方形矩阵边长L(整数类型)。(都直接在地形面板打开栅格看就ok了)
事件,任意单位开始被建造,获取触发单位横坐标x(用R2I化为整数),纵坐标y(用R2I化为整数),string s=I2S(x/L-1)+I2S(y/L-1),integer k=S2I(s)
其所在矩阵就是rectangle[k]了
回复

使用道具 举报

发表于 2013-7-24 20:37:47 | 显示全部楼层
本帖最后由 kp1997 于 2013-7-24 20:48 编辑

楼上的方法虽然可以,不过限制就是必须全地图都有区域
如果某个地方才有区域就不行了
(话说我对jass什么的return bug和x2x都表示看不懂..汗..)
————————————————————————————————————————————————————————————

补充一下..地图上如果有负坐标值的话这个方法便难弄了
如果区域不多的话我的方法是最简单直接的..
但是区域是很多话= =...
系统会爆掉...真的.....
那就用楼上的方法吧

点评

额。。。我滴方法只适用于以最左下的矩阵的左下顶点为原点计算x,y,并且x与y合并后不超过最大容量的情况。。。  详情 回复 发表于 2013-7-25 15:05
回复

使用道具 举报

发表于 2013-7-24 23:20:21 来自手机 | 显示全部楼层
就怕建造在区域交点上……

点评

这个不会的。地形设置中很仔细的处理过。  详情 回复 发表于 2013-7-24 23:49
回复

使用道具 举报

 楼主| 发表于 2013-7-24 23:49:52 来自手机 | 显示全部楼层
lo 发表于 2013-7-24 23:20
就怕建造在区域交点上……

这个不会的。地形设置中很仔细的处理过。
回复

使用道具 举报

发表于 2013-7-25 00:42:38 来自手机 | 显示全部楼层
虽然不懂LZ想要做什么,不过我更倾向于通过坐标来计算区域。
回复

使用道具 举报

 楼主| 发表于 2013-7-25 11:37:30 来自手机 | 显示全部楼层
其实没做啥,只是太久没用WE了,手痒做个练习,试图用触发器作出围棋对弈的功能。包括提子、判断禁着点、打劫等功能。第一步就是要确定棋子的落子坐标。
回复

使用道具 举报

发表于 2013-7-25 15:05:28 | 显示全部楼层
本帖最后由 Simonade 于 2013-7-25 15:09 编辑
kp1997 发表于 2013-7-24 20:37
楼上的方法虽然可以,不过限制就是必须全地图都有区域
如果某个地方才有区域就不行了
(话说我对jass什么 ...

额。。。我滴方法只适用于以最左上的矩阵的左上顶点为原点计算x(此时x一定都大于0),y(此时y一定都小于0,取y的相反数),并且x与y合并后不超过最大容量的情况。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-3-29 22:16 , Processed in 0.253232 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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