开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2049|回复: 4
收起左侧

[其它] 写扫雷的一点感想(初学的朋友可以看看)

[复制链接]
结帖率:100% (18/18)
发表于 2013-2-24 11:33:41 | 显示全部楼层 |阅读模式   天津市天津市
//因为自己的水平很菜,所以写写小程序锻炼锻炼,高手就不要看/了。

好吧,说一些简单但是我认为重要的东西吧。
在我这个层次(很菜很菜)的人看来,写大程序应该是一种很神圣的事情了。因为一般在公司做事,就是分配一些模块,小的几百行,大的上万行,就基本搞好了。
自己完整地写一个上十万行的东西(当然,不能烂到连自己都不喜欢的程度啊),在我看来,应该还是需要一些东西的。
至少需要一些程序框架设计的思想在里面,没有面向对象设计思想在里面,以我目前的水平来看,基本上结构是很难清楚 的。

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

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

注:我在分配地雷的时候不知道算法了。所以到www.google.com中搜索了一下,看了两个人的扫雷的代码,直白点说吧,一个写的代码,我只看了30秒,就被我从我的硬盘上shift+delete了。
原因是:
1 结构很混乱(这个至关重要),程序没有好的结构就表示你的思想一片混乱。
2 没有注释,格式完全没有规范。格式,这个在我看来,也是不能容忍的。
另一个的代码也是,就是一个CxxDlg就交代了。


在我目前的眼光来看,扫雷虽然小,却可以很好的体现面向对象的思想。
简单的分析一下,各位看官见笑了。

三个层次。(project为基于对话框的project)
                  CXXDlg 对象(对话框,管理地雷阵)
                                     |
                                     |
                 CMesh对象(地雷阵,管理一个一个的格子)
                                     |
                                     |
               CGrid对象(一个一个的格子,最基本的单位)

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

然后必须确定一个原则:由谁来处理消息,答案是:谁的消息就让谁来处理。
上面是我的处理原则(我的实践证明,很有效)。
举例来说吧,在某一个格子区域单击了鼠标左键,怎么处理?

好吧,就这么多吧。

评分

参与人数 1精币 +2 收起 理由
Cand + 2 奉上小小红包希望笑纳

查看全部评分

发表于 2021-6-22 20:46:33 | 显示全部楼层   北京市北京市
11111111111111111
回复 支持 反对

使用道具 举报

结帖率:43% (9/21)
发表于 2013-3-10 09:02:27 | 显示全部楼层   广东省东莞市
顶一个吧,我也是个很菜很菜的初手
回复 支持 反对

使用道具 举报

发表于 2013-3-1 21:29:15 | 显示全部楼层   江苏省南京市
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)
发表于 2013-2-24 12:59:52 | 显示全部楼层   广东省珠海市
呵呵,虽然不知道你在说什么但是我看过了,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表