八达网
标题:
看了坦克大作战的程序觉得写得很烂程序员没有理解面向对象的精髓
[打印本页]
作者:
woodangel
时间:
2012-8-12 09:50
标题:
看了坦克大作战的程序觉得写得很烂程序员没有理解面向对象的精髓
本帖最后由 woodangel 于 2012-8-12 09:58 编辑
这个程序虽然能够运行但是扩展性,维护性,可阅读性很低,首先TANK 子弹这些类没有用链表数据结构,坦克用的是数组,永远是2个坦克还好如果将来要扩展成网络游戏增加100个坦克呢?你要一次次重新开数组?而且坦克被摧毁等没法用链表的脱链操作使得内存无法释放很浪费,操作也不灵活。第二居然没有用继承,我认为像坦克大作战的游戏子弹 坦克 墙等东西都应该统一继承到一个父类上类似的运动要通过虚函数重载,这样程序操作的时候有些东西操作父类就可以全盘操作所有被继承的单元不需要一次分开操作,没有继承对扩展也不好。第三,居然没有看到倳件机制,比如碰撞,被摧毁,撞墙这些东西都是对象被外部环境激发,应该用倳件编程,程序处理这些倳件的时候居然是吧他拉出来在环境中操作的这样一次倳件就要重新开一次函数?最后碰撞算法很烂,现在都用8叉树碰撞算法了,程序居然是全环境遍历的检测碰撞机制,环境东西少还好如果几万个东西检测碰撞机器绝对卡死
作者:
羊羊羊
时间:
2012-8-12 09:55
作者:
BeRush
时间:
2012-8-12 09:57
木天使威武啊
作者:
everrr
时间:
2012-8-12 10:01
提示:
作者被禁止或删除 内容自动屏蔽
作者:
ikb
时间:
2012-8-12 10:18
提示:
作者被禁止或删除 内容自动屏蔽
作者:
graces
时间:
2012-8-12 10:49
作者:
woodangel
时间:
2012-8-12 10:53
看了很多游戏程序 很少能全部用面向对象的方法编程的。重来不封装倳件,重来不用虚函数重载,接口这些更看不到,问原因他们都说用面向对象方法后比如虚函数内存使用量变大
作者:
hydranana
时间:
2012-8-12 13:20
[:23]
作者:
anomaly
时间:
2012-8-12 14:59
楼主屌暴了
到八达这种高端论坛还能学习到编程知识
我以后天天都来八达
作者:
哥回来了
时间:
2012-8-12 15:11
提示:
作者被禁止或删除 内容自动屏蔽
作者:
bingle
时间:
2012-8-12 15:29
这么简单的程序不适合你,还是研究下windows吧
作者:
wocnm
时间:
2012-8-12 16:56
LZ,面向对象的精髓不是链表,不是算法之类的细节。
如果你的程序使用OO开来发那你就必须用灵活性取代一些性能。
面向对象的精髓:开发需求经常会变,一变就会导致代码结构改变使用项目到处要修改,这是非面向对象开发的结果。如果你用了OO开发那么你的代码就不会一改就牵动全身,因为你的代码全是由对象组成,对象封装了数据与处理数据的方法,也就实现了高内聚。那么OO正直的精髓就是:从不稳定的需求中找到稳定的对象。
作者:
raya
时间:
2012-8-12 19:46
作者:
韩愈
时间:
2012-8-12 21:18
楼主屌暴了
到八达这种高端论坛还能学习到编程知识
我以后天天都来八达
作者:
潜规则
时间:
2012-8-12 22:32
原创内容 水晶 +5
欢迎光临 八达网 (https://www.8-da.com/)
Powered by Discuz! X2.5