大学自编程序大总结(可执行文件+源代码)
2008年要结束了..大学也即将结束..一切也将有新的开始..是该回首一下了…
总结一下在大学编写的程序,应该是很有意义的事情,而且好久没有写文章啦…
看了这个列表,也代表了自己的编程历程,随着代码量的提高,语言学习的改变,对于自己编程技术的一步一步的提升,确实起到了实质上的作用,不过呢,王道还是"实践+理论",大学其实还是蛮有收获的..虽然还是没有达到自己想到达的地步..
先来个列表:
- 打地鼠 304行 VB 2006年1月
- 学生成绩管理系统 600行 C 2006-3
- 计算器 734行 VB 2006-5
- 猜数字 355行 C++ 2006-9
- 黑白棋 1485行 C++ 2006-9
- 象棋 2192行 C++ 2006-11
- 一条龙游戏、数字拼图 C++ 2006年11月25日-26日
- 黑白棋 J2ME 2006-12-17
- 黑白棋2.0 J2ME 2006-12-22
- 计算器普通 VC 2007-3-14
- ZhaGun程序 3200行 VC 2007-5-5
- 简易聊天室 VC
- 截屏程序 1200行左右 VC
- J2ME坦克大战 7700行 J2ME 2007-10-8 历时1个月
- Tiny语言词法语法分析器 VC
- 截屏程序1.7 3000-4000行 VC
- 校内应用开发 PHP,HTML,JAVASCRIPT,GOOGLE MAP
- https://j2megame.org https://wupei.j2megame.org
- 其他的就是商业程序了..还是在大四实习的时候做的..就不总结了
一. 打地鼠
代码: 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
示意图:
说明: 这同时也是自己的一个作业程序..给谁做得就不说了..比较烂…但是还是很锻炼自己了..自己的一个更大的界面程序,其中还掺杂着算术算法,算法是自己摸不透了..直接从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的游戏,大片的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语言词法、语法分析器展示
示意图:
具体信息可参见:
https://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
| #
呵呵..厉害…作品挺多的……..我怎么一件都没有呀…….哈..
回复
乐杰
| #
不错哈~我大学也是这样过来的~~
回复