地图编辑器概述
做这东西的起因,是因为跑团的时候发现法术范围不容易表示,经过简单测试,IRC的脚本可以实现这一点,碰巧那时候在学MFC,就做了一个0.2版的(0.1版的更烂,只给DINO一个人看过),经熊猫,TAGE,ANDOR各位老爷的指点,以及诸位DM的建议,改成现在的0.3版。
其实0.3版也很烂,不过能凑合用而已,一开始的设想是背景色用于法术范围,现在发现,用背景色画地形的DM貌似很多,所以,功能上的定义有一些变化(详情见下)。而且,由于本人初学MFC,经验很少,所以有一些细节没有充实,属于历史遗留问题,这些都会在0.4版中改进。
地图编辑器功能概述
1.地图编辑器是以IRC为基础的,没有IRC以及脚本,便无意义
2.表示地图时,可以利用以下资源:字符(以全角为主)以及颜色,背景色。由于IRC的颜色只有16种,尽管可以自己定制,但是传送的是颜色的控制符,如果其他人使用不同的调色板,看到的显示就不一样,所以一般以默认颜色为主。
3.由于控制符的加入,需要传输的内容比以前大,所以速度会慢一点,这个是没办法的事。如果有人发现生成的脚本有冗余的地方,请指出,我会尽可能的简化。
新版编辑器的功能
由于各位DM在背景色的使用上超出了我的预计,所以我无法设定比较合理的操作流程。所以希望大家能够说出自己的想法,你觉得该怎么操作比较好,尽管提出来,由大家讨论,尽量详细一些,千万不要简单化(我不太善于处理抽象的事物)。而且要在功能多样和操作的简便上有一个折中。
初步设想
基础:地形可以用前景+背景表示,生物可以用前景表示,法术范围可以用背景表示(讨论1)。我觉得分开地形、生物、法术,会容易控制一些。
界面相关的元素:一个地图的画布(请不要被这个词迷惑,就是那个跟表格一样的东西),一个用于显示图例的列表框(类似于IRC的右边栏,只能单选),一组添加/删除/修改的按钮,一组上移/下移按钮。
操作流程:a.添加图例的过程都一样,点选添加,出现一个输入框,选择添加地形/生物/法术,输入相关的信息,确定。b.在地图上画的过程,略有不同,先在列表框选一个图例,如果是地形,那么可以画在任何地方,数量没有限制,可以是分开的;如果是生物,那么只能画一个格或者矩形区域,如果以前已经用这个图例画过了,新画的会删除以前画的(讨论2);如果是法术范围,与地形相同。c.删除操作相同,删除一个图例会导致地图上相同图例全部消失。d.一个图例在列表框里的位置,决定了显示的优先权(讨论3),比如地图上有一块石头,一个人站在石头上,如果列表框中人在石头之上,那么人显示,石头只显示背景(如果有的话),如果人在石头下,那么人不显示。
相关讨论
1.也许可以分得更细,也许仍然使用0.3版的设定,总之,操作方便跟功能多样的折中
2.这样就省掉了移动等操作,但是如果有多个地精,就需要定义多个图例,也有不方便的地方。
3.这个还有值得商榷的地方,主要就是俯视一片场地一样,有层次的问题。法术通常为背景,生物总在法术之上,如果有人使用了Obscuring Mist,那么法术该在人之上,我还没想清楚,所以看大家的意见。
考虑过的功能
1.把生物弄成棋子:这个确实考虑过,不过柿子姐姐认为体型变动的情况不少,总改来改去的麻烦,这个需要大家讨论。
2.自动画法术:确定法术范围很容易,PHB上就五种,但是碰到墙等障碍需要附加的处理,这样就需要对地形做更多的规定,从而导致操作复杂度大大增加,所以此特性以放弃为主。
3.隐藏某些图例:陷阱可以提前画,然后设置隐藏,用的时候再改成显示,有人用了隐形术时,也可以这么处理。
4.图例的输出:这样就不会有人问,那个符号什么意思之类的。
历史遗留问题的处理
1.地图尺寸:肯定会扩大,然则这东西占内存,所以在测试后给一个比较合理的大小,初步定为128X128
2.编辑器最大化:这个是我FC,下次一定会做到
3.改用java编写:我放弃了MFC,这东西真不好用,还是java合我的性子,代价就是,大家需要安装JRE5.0,一个15M的东西。
4.存储:因为地图扩大了,而且功能跟以前不一样,所以存储方式要换一个,跟以前的地图不兼容(这个应该没什么问题吧)
需要提议的请在此跟帖,本人的网络太烂,闪现已成为习惯。暂时决定二周后动手。
在此感谢大家对0.3版的支持,请期待0.4版。
=================================================
图例的保存:因为前面提到了如果删除图例的话,地图上的相同图例都会消失,所以,图例是一定会保存的。
图例的输出:可以是这样的,地图输出范围之内的图例才会输出(这个不知道是否写的出来),而且此输出是可选的,可以每轮输出一次,或者干脆就只输出一次。
半角转全角:只是补足空格的话,当然好办。如果涉及到把半角逗号转成全角逗号之类的,意义不大,却没法禁止,所以暂不考虑此种转换
地形法术:输出的时候仍然是共用的,我只是把这个分开,用一定的规则处理。然则这规则仍需要讨论。前景和前景,背景和背景的优先容易规定,前景和背景的优先还是有点麻烦的(主要是由于地形可以用前景也可以用背景)。
=================================================
自动画法术:这个确实不容易实现,不过可以采取这样的折中:提供一个法术参考区域,由使用者手动填充,恩恩,暂时这样吧
=================================================
drag:按住shift键的时候使用drag,不按shift键的时候为单选,如何捏?