中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 综合文章
写扫雷的一点感想(初学的朋友可以看看)
作者:未知 时间:2003-07-26 12:12 出处:Blog 责编:chinaitpower
              摘要:写扫雷的一点感想(初学的朋友可以看看)

//因为自己的水平很菜,所以写写小程序锻炼锻炼,高手就不要看/了。

 

好吧,说一些简单但是我认为重要的东西吧。

在我这个层次(很菜很菜)的人看来,写大程序应该是一种很神圣的事情了。因为一般在公司做事,就是分配一些模块,小的几百行,大的上万行,就基本搞好了。

自己完整地写一个上十万行的东西(当然,不能烂到连自己都不喜欢的程度啊),在我看来,应该还是需要一些东西的。

至少需要一些程序框架设计的思想在里面,没有面向对象设计思想在里面,以我目前的水平来看,基本上结构是很难清楚 的。

 

好了。我们开始涉入正题了。

 

就是程序的框架和设计思想,我要结合扫雷来说。(扫雷?是,扫雷,window系统自带的那么几个小游戏中的一个,很简单吗?我不觉得)。

 

注:我在分配地雷的时候不知道算法了。所以到www.google.com中搜索了一下,看了两个人的扫雷的代码,直白点说吧,一个写的代码,我只看了30秒,就被我从我的硬盘上shift+delete了。

原因是:

1 结构很混乱(这个至关重要),程序没有好的结构就表示你的思想一片混乱。

2 没有注释,格式完全没有规范。格式,这个在我看来,也是不能容忍的。

另一个的代码也是,就是一个CxxDlg就交代了。

 

 

在我目前的眼光来看,扫雷虽然小,却可以很好的体现面向对象的思想。

简单的分析一下,各位看官见笑了。

 

三个层次。(project为基于对话框的project)

                  CXXDlg 对象(对话框,管理地雷阵)

                                     |

                                     |

                 CMesh对象(地雷阵,管理一个一个的格子)

                                     |

                                     |

               CGrid对象(一个一个的格子,最基本的单位)

 

这就是我所理解的扫雷和面向对象的思想的具体体现。

在分清了对象层次后,就好着手考虑属性和方法,说起来很简单,在我看来,没有一定的代码经验,在分析属性和方法的过程上是会有一点点问题的,这个问题是需要实践的,不好说。

 

然后必须确定一个原则:由谁来处理消息,答案是:谁的消息就让谁来处理。

上面是我的处理原则(我的实践证明,很有效)。

举例来说吧,在某一个格子区域单击了鼠标左键,怎么处理?

我的处理:首先是 CXXDlg 对象得到消息,传递给CMesh对象,CMesh对象再传递给CGrid对象处理。

 

好吧,就这么多吧。

luwenguang_@hotmail.com(如果你愿意的话)

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有