代码改变世界

来来来, 我也来发发我大二时候的作品

2010-03-17 00:14  lixiong  阅读(3073)  评论(22编辑  收藏  举报

今天看到了:

12年前的作品──《美绿中国象棋》制作过程及算法简介

http://www.cnblogs.com/miloyip/archive/2010/03/16/1687647.html

 

不仅想到了我大二时候的作品, 让大家比较下墙内墙外的差距, 希望大家不要见笑, 再怎么样, 我这个好歹还是开源的.

 

第一个也是棋类游戏, 五子棋. 当时qq上都还没有五子棋, 个别网站上的支持网络对战的五子棋规则上特别土, 不支持禁手. 加上当时正学MFC, 所以顺便搞了一个.

这个程序没什么亮点. 唯一值得提一下的有:

 

1. 代码特别的乱

2. 支持禁手

3. 鼠标右键可以进行演算, 方便下棋的时候思考

4. 支持两人局域网队战.

 

我刚才复习了一下代码, 原来第四点我做得很变态的. 自己用tcp实现了一个协议栈来进行下棋交流.... 不过这个程序好像单机连接localhost不行, 非两个不同的机器才可以工作. 幸运的是, 刚才跑了一下, 在两台机器上联网居然还能工作. 和当年唯一的区别是现在windows firewall会跳出来问候一下~~~

 

第二个东西是用汇编写的mp3播放器. 当时为了追求binary size, 做了一个7kb的EXE和一个3kb的DLL Hook, 两个都是用MASM写的. 播放器的实现很简单, 播放的代码是用API, 隐藏在后台, 通过F2-F12实现音量, 快进等等功能. 当时还是Quake3出来的时候, 如果用MediaPlayer或者其它工具的话会很卡, 这个简单的程序是为了解决打游戏听音乐不卡而做的.

 

刚才测试了一下, 一点问题都没有. 功能键阿, hook阿一样工作.

 

如果有兴趣的要玩一下的话:

1. 把a.exe和hodll.dll放到一个目录

2. 把要播放的mp3都选中, 然后拖到a.exe程序上. 相当于通过a.exe打开这些程序

3. 直接运行a.exe的话, 可以看到下面的帮助:

 

 

 

回头来看, 这些东西虽然写得烂, 但是好像现在的工作反而不如以前有趣. 值得反省一下.

感叹的是Microsoft的产品, NB的兼容性阿. 如果是用linux的话, 是不是这样的程序需要重新编译呢?

 

代码和binary打包上传中~~~

/Files/lixiong/mp3asm.zip

/Files/lixiong/wuziqi.zip