大学自编程序大总结(可执行文件+源代码)

作者:Wupei  |  发表时间:  |  所属分类:我的作品

2008年要结束了..大学也即将结束..一切也将有新的开始..是该回首一下了…

总结一下在大学编写的程序,应该是很有意义的事情,而且好久没有写文章啦…

看了这个列表,也代表了自己的编程历程,随着代码量的提高,语言学习的改变,对于自己编程技术的一步一步的提升,确实起到了实质上的作用,不过呢,王道还是"实践+理论",大学其实还是蛮有收获的..虽然还是没有达到自己想到达的地步..

先来个列表:

  1. 打地鼠                 304行        VB          2006年1月          
  2. 学生成绩管理系统    600行        C              2006-3          
  3. 计算器                 734行        VB          2006-5
  4. 猜数字                 355行        C++         2006-9
  5. 黑白棋                 1485行      C++         2006-9
  6. 象棋                    2192行       C++        2006-11
  7. 一条龙游戏、数字拼图              C++           2006年11月25日-26日
  8. 黑白棋                                J2ME          2006-12-17   
  9. 黑白棋2.0                            J2ME         2006-12-22
  10. 计算器普通                            VC            2007-3-14
  11. ZhaGun程序         3200行        VC            2007-5-5
  12. 简易聊天室                             VC
  13. 截屏程序          1200行左右       VC           
  14. J2ME坦克大战       7700行         J2ME           2007-10-8 历时1个月
  15. Tiny语言词法语法分析器              VC
  16. 截屏程序1.7      3000-4000行     VC
  17. 校内应用开发                         PHP,HTML,JAVASCRIPT,GOOGLE MAP
  18. http://j2megame.org             http://wupei.j2megame.org
  19. 其他的就是商业程序了..还是在大四实习的时候做的..就不总结了

 


一. 打地鼠

代码: 304行  语言:VB  时间: 2006年1月

可执行文件与源代码: c_hit.rar

示意图:

打地鼠示意图

说明:

记得做这个程序的时候很有趣..大一上半学期学校开了汇编语言,感觉巨没用,整天在图书馆拿了本VB看(也是看网上的文章介绍的)就那么看啊看..在寒假回家的时候,突发灵感,要编一个VB的打地鼠游戏,幸好当时还学了点photoshop,虽然还不熟..那时候认为什么都要自己做,就开始咯,所有资源都是用potoshop自己做出来了(傻了点,现在看,社会分工还没有想到),编啊编,300多行的程序,愣编了2个通宵..修改BUG的时间非常长..后来才知道..所有变量都用的是全局变量…那一顿用..自己都搞不清楚哪个是哪个了..还是逻辑思维能力比较弱…组织不起来这样混乱的IF语句…还好,自己的第一个像样的程序算是完工了

全局变量害死人…打死我我也不用了….555

 


二. 学生成绩管理系统   

代码: 600行  语言: C   时间:2006-3

可执行文件与源代码: c_stu.rar

示意图:

学生成绩管理系统

说明:

这个用C语言纯写的小小程序,规模就比前面那个大了点,记得还是在学校机房的零碎时间做的,也是无聊闲得,也是为了锻炼一下C语言基础,都是看c primer plus看的,个人感觉技术含量还好,使用了结构体,使用了文件操作,函数过多,当初为了架构这个程序,自己写了满满一张纸的函数名,然后按层次排列下来…..也是第一次体会到了封装的意义,但是呢,顺序分支太多..那时候还是体会不到参数和返回值的意义…从来都是void…哈哈,自己写的状态机还是不错

封装很重要..参数与返回值也应该合理应用…

 


三.
计算器 (普通+科学)     
        

代码:
734行    语言: VB    时间: 2006-5

可执行文件与源代码: c_vb_calc.rar

示意图:

VB计算器

说明: 这同时也是自己的一个作业程序..给谁做得就不说了..比较烂…但是还是很锻炼自己了..自己的一个更大的界面程序,其中还掺杂着算术算法,算法是自己摸不透了..直接从C语言书上找来的..后来才知道..居然VB自己有自己的函数..来运算字符串表达式…这次还是锻炼了逻辑思维..需要非常缜密..出来1+1=3,是很平常的事情..这会会缩进了.是代码漂亮了不少,注释用的也比较好..那时编这个程序属于疯狂状态…最终还是在网吧完成的这个程序..网吧老板都以为我在给他们的机子在搞什么破坏…编这个程序自己都不敢去用这个程序..因为程序的BUG还是没有测试到位吧

注释,思维逻辑,按键触发,触发事件..干嘛干嘛..

 

 


四.
猜数字

代码:
355行  语言: C++    时间:2006-9

可执行文件与源代码: c_guess.rar

示意图:

 
猜数字

说明: 这个是C++老师的第一个作业,因为自己提前学了C++,做起来还是比较容易的,记得当初看C++ primer plus的时候那个痛苦…哐哐的画线…到处都是线..就是因为不太理解呗..很复杂..这会用的面向对象的思想也不是太多,一直就是基于对象的,但是输入输出这一块做得还是不错的,还有文件操作

面向对象的思想博大精深…

 


五.
AI黑白棋  
             

代码:
1485行      语言: C++   时间: 2006-9

可执行文件与源代码: c_bwc.rar

示意图:

 
AI黑白棋

说明: 这次是黑白棋修改版本,第一个版本输出和这个不太一样,功能类似,这个看起来还是像个样子的,有人机对战,人人对战,排行榜功能,注释写的也很好,把类结构都写出来了..但是呢,这个好像把类和对象的概念给搞混了,好像把每个对象当成了单个类处理(太钻技术的后果),体会到了重用代码的作用,把前面才数字的文件直接拿来用了..(哇..当时那个兴奋,居然可以这样),不过这个出现重要重复问题,复制粘贴(类间相同代码)问题严重了….还是架构不太好,还实现了自己的AI,应该是自己的唯一的一个实现AI的游戏,大片的IF语句进行判定,既没有运用到树判定,也没有运用到游戏的随机性….这个游戏如果玩的多的话,可以按上一盘的步骤再来一次…(因为IF语句一样嘛…)

/*
 * 类结构:
 *                                               
 *                                                     |    1.char    che[][]–键盘的所有字符集合
 *                            chess类(基类)—–|    2.下子    changeche(int x,int y,char ch)   
 *                                |                    |    3.显示棋盘 showche()
 *                                |                    |    4.取子  getche(int x,int y)
 *            +——————————————————————+
 *            |                                                          |
 *            |                                                          |
 *        yochess类(virtual public)                    aichess类(virtual public)
 *
 * private:       
 *        bool yoche[][]:    your可下子的地方       bool aiche[][]:  AI可下子的地方
 *        int  yonum    : 当前子数                      int ainum     :   当前子数
 *        int score;   
 * public:
 *        your输入:bool yoset(int x,int y)           AI输入:bool aiset(int x,int y)
 *        bool yoresult()                                 bool airesult()   
 *
 *—————————————————————————————–
 *—————————————————————————————–
 *
 * 棋盘模式:
 *            ai:*  your:@
 *            cout << "    1 2 3 4 5 6 7 8 " << endl;
 *            cout << "  1 – – – – – – – – " << endl;
 *            cout << "  2 – – – – – – – – " << endl;
 *            cout << "  3 – – – – – – – – " << endl;
 *            cout << "  4 – – – * @ – – – " << endl;
 *            cout << "  5 – – – @ * – – – " << endl;
 *            cout << "  6 – – – – – – – – " << endl;
 *            cout << "  7 – – – – – – – – " << endl;
 *            cout << "  8 – – – – – – – – " << endl;
 *
 *
 */

上面是自己写的注释, 呵呵..还是比较不错的…

这时已经需要提前设计类架构了,但是面向对象思路还是比较混乱,

 


六.
象棋(未实现AI版本)

代码:
2192行      语言: C++     时间: 2006-11

可执行文件与源代码: c_chinachess.rar

示意图:

 
中国象棋

说明: 仍旧是C++程序设计作业,这个程序可是超级费劲了,有了黑白棋的基础应该差不多了吧,但是这个象棋的算法,实在是太复杂了…各种棋子的走的方式都不行,也要判断失败走法…各种类掺和到一起..致使自己不得不类似于UML图的形式表现出类框架,虽然框架设计出来还是比较烂的..但是总比没有要强..这点还是做得比较好的,还使用了有名常量进行定义,还是有大片代码重复情况…复制粘贴..带来了调试的极大问题,这个程序也未实现AI,实在想不出..AI怎么设计…(跟象棋水平有直接关系)

类架构

这次已经出现上了架构上的我问题了..由于东西太多,代码相对复杂一些,弩架不住了..经过向老师的询问..诶..知道了,出现了一个"设计模式"的名词

 


七.
一条龙游戏、数字拼图

语言: C++   日期: 2006年11月25日-26日

"数字拼图"可执行文件与源代码:
c_shuzi.rar

"一条龙"可执行文件与源代码:
c_long.rar

示意图:

 

说明: 一共有7个程序小作业,那时我好像在2天之内就完成了..有一天都编疯啦,从下午1点编到晚上11点熄灯..都没吃饭…呵呵.疯狂..不知道哪来的劲头,感觉还是很过瘾的,这个数字拼图游戏个人感觉很有创意的,因为看似是直接响应按键的,其实还是跟以前一下,只不过按键不缓存了,跟真实的界面程序表现上是一致的,这个程序的内部数据结构也很巧,全部是指针,指来指去的…每按一次,就切换一次,很酷…但是这个游戏至今我自己还没通关过…不会玩

现在又归回到了表现层,是直接提升程序品质的东西,界面友好也需要良好体现

 


八. 黑白棋

九. 黑白棋2.0

语言: J2ME   日期: 2006-12-22

可执行文件和源代码见这里: 打开

 

示意图:

 

说明: 当时这个程序速度还算惊人,是大二的时候实习前提交的作品,一开始还是不会JAVA,用3天的时间学了学JAVA,就上手编写这个J2ME程序,然后就近公司实习了..呵呵..还是挺诡异的..这个移植方面做的还好..具体算法是使用了前面C++时用的算法,直接就拿过来用了..又是面向对象的好处

移动终端啊..屏幕移植当初是涉及到的第一个问题..幸好这个程序是自适应的..呵呵

 


十. 计算器普通

语言: VC  日期: 2007-3-14

说明: 这个程序没什么可说的,就是普通型,主要是熟悉MFC的框架,和按键响应,这个技术含量就很低了..

 


十一. 轧辊管理程序(数据库应用)

代码: 3200行    语言: VC + Access  时间: 2007-5-5

可执行文件与源代码: c_zhagun.rar

示意图:

 轧辊示意图

说明: 这个是为父亲厂子编写的一个管理系统,就是简单Access数据库的增删改查的操作,20个小时的连续编程是一个很爽的事情..主要就是用C++连接数据库,然后提供增删改查的操作,一共就两张表,一张是主表,一张是附表,逻辑上是嵌套的关系…这个其实挺锻炼人的..也是当时自己写的最长的程序,不过复制粘贴现象更加严重了…好多重复的代码…一开始设计的也不是很好..好像就没有设计..像MFC程序不知道怎么设置类体系..因为他本身,我觉得就挺乱的..

第一个数据库程序..但是写起来真是挺费劲的…这种程序还是不用VC来写比较好…会更快一些

 


十二. 简易聊天室  (socket编程)

语言: C++ 

服务器端和客户端可执行文件与源代码: c_talk.rar

示意图:

 

说明: 这个是VC课程的期末大作业,完成了非阻塞形式的socket的聊天室,这个聊天室实现了最初QQ的功能,类似于以前的网页聊天,是基于明码信息编号的形式来传递信息,每条信息都需要经服务器端进行消息的转发(早期QQ),能私聊,公聊,踢人等功能,感觉上,还算是比较强大的,但是容错性较差,如果出现什么意外情况,如断网…不知会怎么样…理论上局域网是可以使用的,需要服务器开启,服务器现在是信息的分发者与当前用户的管理者,第一开始其实服务器端和客户端比较模糊,到最后就成了,服务器端也可以聊天的诡异事情…

基于网络的应用还是不好编啊..动不动的非法关闭了…痛苦..准备实现J2ME网络应用程序

 


十三. 截屏程序

平台: VC      代码: 1200行左右      

说明: 暂时这个就不能公布代码了..因为已经发布了..也已经更新了好多个版本,功能和应用上还比较好点了

具体可以见这里: MyCatchScreen绿色截屏程序1.7.1 (最后更新:08年6月22日)

 


十四. J2ME坦克大战

代码: 7700行    平台: J2ME  时间: 2007-10-8 历时1个月

示意图:

 

说明: 这个也是真正就职前的一个程序,虽然商业发布,但也没赚到多少钱..但是总归是第一个拿的出手的游戏,虽然没有一点创新,呵呵,完全模拟是完全的达到了

具体信息可以看这里:

坦克大战手机版J2ME实现(创游杯参赛作品 – 未果…)(最后更新: 08年5月22日 – 支持诺基亚手机) 

 


十五. Tiny语言词法、语法分析器展示

示意图:

具体信息可参见: 

http://wupei.j2megame.org/blog.php/myblog/myworks/2007/12/26/mfc-tiny-compiler

说明:这个还是比较酷的,是学习编译原理的期末大作业,自己琢磨了好久,写了好递归算法,进行词法与语法分析,然后展示的效果还不错,使用了一个开源的代码,是树状控件,表达成了这样,看起来更加语法树的构成了,这个的编写,很考验对于数据结构的应用,这会实现了把树型结构的指针,挺复杂的….自己还做了一个精湛的PPT,但是老师最终也没让我讲..伤心了..(还跟我说让我讲,白让我那么费劲做了…)

数据结构也很重要,尤其是复杂的数据结构,需要进一步了解的

 


十六. 校内扩展API应用

说明: 小小的google map的应用,因为好友的信息交流次数过多,访问几次就把自己的空间拖垮了,就500错误了..可悲..也没优化过..就是简单了编了一下,运用了php javascript html混合编程..那就更加痛苦了..3层嵌套进去,一层一层的套进去,可想复杂程度…自己还不太像往网站方向发展,就当乐趣,偶尔编一下了..呵呵

 


十七. J2ME手机游戏开发网和个人博客

说明: 这两个现在都还好..前者现在排名还是比较靠前的..访问量还好..叫他慢慢的聚集人气吧..主要还是自己的个人站点,服务自己,也服务他人,这就是原则啦,虽然自己不善于网站方面的编码(但我会改!哈哈),只用框架而已,但还可以认识朋友,好多好多好处,呵呵,偶尔写一个技术文章也挺好

 


OK了..终于总结完了..好累..看现在已经凌晨1点了,从晚上9点写到现在…

回头看一下大学,还是蛮丰富多彩的..呵呵,成就感的…

就这吧..

Trackback from your site.

(11)条评论

  • wupei

    |

    测试继续

    回复

  • wupei

    |

    ok?

    回复

  • snake

    |

    上大学,现在谁都可以上大学,早已没有了昨天的那种神秘~
    但是彼此的差别,就早已不在于那张大学毕业证了,而是你大学学到了什么,不要跟哥说,上完大学感觉很坑坑爹、想骂娘、想砸了学校、想找学校食堂的厨子算账,骂他们做的什么猪食。。。
    这些都没有用,这些不过时上大学的经历,他们不能陪伴你一生,也不可能影响你一生!真正能陪伴你一生的、影响你今后的人生路的是“你在大学学到了什么?你在大学期间做了什么?”
    你扪心自问了吗???要怪就怪自己荒废了自己的青春吧,看看楼主人家的大学四年是如何度过的,脚踏实地、认认真真的做一些事,为了自己、也为了那个数目不小的大学学费吧~~

    回复

  • Gomestone

    |

    我学软件,觉得你的东西写得很好。是我们应该学习的~以后经常来你这转····

    回复

  • 小龙

    |

    都是读大学的人,怎么相差就那么大呢!
    很是佩服,惭愧ing
    我该拿什么去见人呢

    回复

  • Louis

    |

    哈哈,都一样的大学生活,现在大三,准备出去实习了。

    回复

  • hello

    |

    博主很牛哈,仰视~可惜我不是学计算机的~

    回复

  • Claymore

    |

    我记得你不是还写了个截图软件来着吗?

    回复

  • Claymore

    |

    呵呵,明年的的大学生活也要结束了,暑假找个地方实习,
    算算看,大学三年了什么都学了一点,个人觉得自己的VC学得还是不错的,当初还写了个进程管理器来着,现在源代码都找不到了囧TL….
    不过还剩两个PHPME_CMS和PHPME_BLOG,感觉还不错,
    我也有两个得意的作品哦,哦呵呵呵~

    回复

  • hackers365

    |

    呵呵..厉害…作品挺多的……..我怎么一件都没有呀…….哈..

    回复

  • 乐杰

    |

    不错哈~我大学也是这样过来的~~

    回复

请在这里留言: