挖井

类库大魔王的挖井日记

挖一口属于自己的井


打算用WTL写个围棋打谱程序

  写个围棋打谱程序,这个想法好多好多年前就有了,上高中的时候就有了。大概是因为当时对围棋有点点感兴趣,纯粹的叶公好龙型的,虽说感兴趣,却没有认真学过,只是知道大致的规则而已。这些年,看StoneBase的发展,觉得挺有趣的,不过它的实现不是我喜欢的方式,所以我突然又决定自己写一个,而且想了想打算用WTL来写。
  开始是有点犹豫用MFC还是WTL的,因为MFC相对较熟悉一点,而且有Xtreme Toolkit Pro可以用,做炫酷的界面确实方便。但是后来想想用WTL就看中它生成的可执行文件体积小巧的优点,看看StoneBase当前最新的4.6.1版本,exe文件也就只有8.24MB,而假如用XTP的话,当是它的dll就有5.5MB,还要加上MFC的dll,大概是3.6MB,这样附属的文件体积就已经超过StoneBase主程序文件大小了。还有一个想法是,希望能借此机会好好学习一下WTL的使用。
  至于要做得什么样的,从特性外部行为上看,可以模仿StoneBaseMultiGo。比如首先要能支持几种国内常见的棋谱文件格式,还要支持棋谱库,MultiGo没有,StoneBase 用了一个叫Absolute Database的嵌入式数据库,我猜大概因为StoneBase是用Delphi开发的缘故吧。我可以用SQLite来替代的,不过StoneBase有一个很庞大的棋谱库,所以也需要能以某种方式读取它的数据库。需要有良好的打印支持功能,肯定很多情况下,需要把棋谱打印出来,对着纸自己敲棋子,那种感观享受不是电脑程序能比的。要有方便的棋谱输入编辑功能,要有格式转换功能等等。
  具体实现上,我想尝试一下纯插件框架,也即用C++实现一组核心的功能,其他高层的业务逻辑全都使用外部脚本扩展实现。这种框架有点像Eclipse,又有点像Mozilla的XUL方案,要扩展的地方包括主菜单、工具栏、弹出式右键菜单、棋谱格式读写等。

本文地址:

https://minidump.info/blog/2008/05/e6-89-93-e7-ae-97-e7-94-a8wtl-e5-86-99-e4-b8-aa-e5-9b-b4-e6-a3-8b-e6-89-93-e8-b0-b1-e7-a8-8b-e5-ba-8f/

感觉本文不错,不妨小额鼓励我一下!
上一篇

有些问题是看不出来的

  有些问题是看不出来的。  今天因为有人提了单,我才下决心去看了一下代码,经过比较仔细的排查,最后结论是,果然是被我改坏了,原来的那种实现方式确实是不会出这种问题的,不过那种实现方式是一定不能留的,一定要被改掉的,只能在现在的基础上进行修改,最后好像勉强可以了,哈哈。  还有一个问题,好久好...…

Job mm 全文阅读
下一篇

去见疯丫头

  中午离12点还差10分的时候,突然接到疯丫头的电话,叫我拿100块钱去给她。翻出钱包才发现,空空如也,急忙问旁边的同事借了100块钱,又急忙坐电梯到1楼,还以为这样会比走楼梯快一点,再急忙坐穿梭巴士,巴士开得慢悠悠的,我急不可耐地让司机可不可以开快点,不得地看时间,好不容易在6分钟内赶到A...…

mm 全文阅读