好久没有写文章,尤其是系列文章。最近发现年纪大了,以前写的东西时常自己都遗忘,看样子写一写笔记还是很有好处的。
写游戏一直是我的梦想,早在DOS时代我就写过五子棋、黑白棋之类的游戏,但是要知道面向过程的编程语言是多么的难以维护,而且没有设计模式的指引,代码垃圾的都让我不好意思开源。不知不觉中工作三年了,从面向过程到面向对象,从DOS到Windows,从C++到C#,从表层到底层,我已经逛了好几个圈,现在有些累了,上个星期终于将所有加密解密和破解相关的代码都扔给一个老外,委托其帮我更新。于是乎,我终于有时间来研究一点游戏的东西。
先从最简单的开始写吧。一步一步来。
写纸牌游戏当然最基本的需要有纸牌资源。Google了一番回来,没发现什么好看的资源,倒是Win7的纸牌蛮漂亮,动画做的也不错,好歹我也是程序员,就算原创功力不够,拷贝能力我还是一流的。这些纸牌图片需要一张一张抓图吗?我可没那么傻。拿出反汇编工具随便翻了翻代码,变找到了System32\CardGames.dll这个和win7纸牌资源相关的DLL文件。拿出汉化工具ExeScope打开这个dll文件。很多好东西呢:
赶快导出图片,再用PS分割出来。
最后居然发现没有大小王(也叫大小鬼)。
没办法,只好再用PS自己造两张,图片就用公司同事给本人画的卡通图好了。我就牺牲一下形象了...
好不容易将所有图片都搞定了。下面开始写程序了。
思想一:将这些资源图片放置到控件库中,便于编写其他纸牌游戏时候调用,尽可能的封装一些通用的调用方法。
新建一个WPF控件库,并将图片加入到资源字典中去。可以在Blend中将图片拖动到窗体上,然后选择 工具->生成画笔资源->生成ImageBursh资源 新建一个资源字典就行了。
当然如果已经掌握了资源字典的xml文件规则,自己动手写一个也是非常简单的一件事情。
在资源字典中定义过的图片,今后在代码中调用就非常方便了。
今天就说到这里,下次再见。